ورود

View Full Version : جدا کردن سه رقم اعداد در EditText



dharmaa
شنبه 26 تیر 1395, 21:32 عصر
سلام بر دوستان
مدت کوتاهی است که یادگیری برنامه نویسی اندروید رو شروع کردم و به یه مشکل بر خورد کردم که شاید از نظر شما اساتید ساده باشه !!!!!
میخام توی تکست باکسم سه رقم سه رقم جدا کنم
اومدم یه تابع برای اینکار نوشتم و تابع رو فراخونی کردم در متد afterTextChanged (از addTextChangedListener) و طبیعیه که افتاده توی loop چه کار باید کنم ؟
زیاد با رویدادهای اندروید اشنایی ندارم و نمیدونم با چه دستوراتی باید مدیریت بشن
اینم کد برنامه ام

public void afterTextChanged(Editable arg0) {
try

{
if (txtWhole.length()>0)
{

txtWhole.setText(InsertQout((txtWhole.getText().to String())));
txtWhole.setSelection(txtWhole.length());

}
}
catch (Exception ex)
{
Toast.makeText(getApplicationContext(), ex.toString(), Toast.LENGTH_LONG).show();


}

}
کسی میتونه راهنمایی ام کنه؟

rezaricky
دوشنبه 28 تیر 1395, 09:33 صبح
سلام این ها رو ببینید :
http://stackoverflow.com/questions/12338445/how-to-automatically-add-thousand-separators-as-number-is-input-in-edittext
https://gist.github.com/hidroh/77ca470bbb8b5b556901

dharmaa
دوشنبه 28 تیر 1395, 10:49 صبح
سلام دوست گرامی
بسیار بسیار بسیار سپاسگذارم از وقتی که گذاشتین و پاسخ مفیدی که دادین.

tara1367
سه شنبه 29 تیر 1395, 12:14 عصر
در رویداد AfterTextChanged در EditText بنویسید:


EditText1.removeTextChangedListener(this);

try {
String givenstring = s.toString();
Long longval;
if (givenstring.contains(",")) {
givenstring = givenstring.replaceAll(",", "");
}
longval = Long.parseLong(givenstring);
DecimalFormat formatter = new DecimalFormat("#,###,###");
String formattedString = formatter.format(longval);
EditText1.setText(formattedString);
EditText1.setSelection(EditText1.getText().length( ));
// to place the cursor at the end of text
} catch (NumberFormatException nfe) {
nfe.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}

EditText1.addTextChangedListener(this);