بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
موشتن دیالوگ در فوکوس EditText
سلام
دوستان من این کد نوشتم برای فوکوس EditText ولی کرش میکنه !!!
edttext.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View arg0, boolean arg1) {
int temp = Integer.parseInt(etx_bimegozar.getText().toString());
if (temp < 1 || temp > 120) {
ProgressDialog d = new ProgressDialog(Saman_4Activity.this);
d.setTitle("ekhtar");
d.setMessage("doorost vared konid");
d.setButton("ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
}
});
}
});
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
MSDF
11 سال پیش
+1
0
شما به احتمال زیاد etx_bimegozar را مقدار دهی نمی کنید و روی edttext فوکس میکنید. و بخاطر اینکه مقدار etx_bimegozar تال(null) هست برنامه شما کرش میکنه.چون نمیتونه مقدار null را به integer پارس کند.
برای اینکه شما به مقصودی که در این قسمت داشتین برسین یعنی بررسی etx_bimegozar و اگر مقدار ان معتبر نبود یک dialog نمایش دهد باید از setOnClickListener استفاده کنین.چون وقتی از setOnFocusChangeListener استفاده میکنین حتی وقتی که فوکس از ان گرفته میشود این listener فراخوانی میشود و دوبار dialog رو نمایش میدهد.
و یک نکته دیگه بهتر است به جای استفاده از ProgressDialog از AlertDialog استفاده کنین.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .