بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

موشتن دیالوگ در فوکوس EditText

مدیریت گفتگو
b97bak 11 سال پیش
آخرین تغییر: 11 سال پیش

سلام

دوستان من این کد نوشتم برای فوکوس 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 سال پیش

شما به احتمال زیاد etx_bimegozar  را مقدار دهی نمی کنید و روی edttext  فوکس میکنید. و بخاطر اینکه مقدار etx_bimegozar  تال(null) هست برنامه شما کرش میکنه.چون نمیتونه مقدار null را به integer پارس کند.

برای اینکه شما به مقصودی که در این قسمت داشتین برسین یعنی بررسی etx_bimegozar  و  اگر مقدار ان معتبر نبود یک dialog نمایش دهد باید از setOnClickListener استفاده کنین.چون وقتی از setOnFocusChangeListener استفاده میکنین حتی وقتی که فوکس از ان گرفته میشود این listener فراخوانی میشود و دوبار dialog رو نمایش میدهد.

و یک نکته دیگه بهتر است به جای استفاده از ProgressDialog از AlertDialog استفاده کنین.

 

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .