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

کرش کردن در حین باز شدن دیالوگ

sadeghbarout  12 سال پیش  12 سال پیش
0 0

سلام استاد و ممنون از آموزش های خوبتون
توی قسمتی که test dialog تدریس شد منم یه دونه نوشتم و نمایشش میده ولی وقتی کدی برای دکمه در اون دیالوگ مینویسم با اینکه هیچ ارور دستوری در برنامه ظاهر نمیشه و برنامه اجرا میشه ولی بعد از اجرای دیالوگ بدون اینکه اصلا دیالوگ نشون داده بشه برنامه کرش میکنه
کد این قسمت اینه:


final Dialog dialog1 = new Dialog(Test_dialogsActivity.this);
dialog1.setContentView(R.layout.dialog_test);
Button btnok1 = (Button) findViewById(R.id.btnok);
btnok1.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
dialog1.dismiss();
}
});

dialog1.show();


تاکید میکنم که وقتی onclicklistener رو تعریف میکنم برنامه کرش میکنه و بدون اون دیالوگ درست باز میشه. درضمن برای هر چیز دیگه ای از اون دیالوگی که ساختم هم onclicklistener تعریف میکنم بازم این مشکل هست.


ممنون

 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
uncocoder  12 سال پیش
+1 0

اگر btnok داخل ریسورس مربوط به Dialog هست باید بنویسید:

Button btnok1 = (Button) dialog1.findViewById(R.id.btnok);

اما اگر btnok داخل ریسورس Activity باشد که قرار هست دیالوگ رو باز کنه، کدی که نوشته ای درسته و باید مطمئن باشید که btnok وجود داشته باشه.
در کل کدهای داخل onClickListener تا زمان کلیک نشدن اجرا نخواهد شد پس کرش به آن ربطی ندارد و علت کرش نامعتبر بودن ( null ) بودن btnok1 خواهد بود.

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