آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

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

b97bak  11 سال پیش  11 سال پیش
0 0

سلام

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

 


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