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

مشکل صدا زدن یک OnClickListenr در یک دیالوگ(حل شد)

مدیریت گفتگو
محمد مقصودی 12 سال پیش
آخرین تغییر: 12 سال پیش

با سلام

یک Button ساختم و یک ClickListener برای اون تعریف کردم که دیالوگ رو فراخوانی می کنه.

سوال من اینه که هر Clicklistener دیگه ای که درون دیالوگ میسازم برنامه کرش می کنه.

ممنون می شم راهنماییم کنید.

//اینجا متد دیالوگ رو صدا می زنم 
btnDialog.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { sampledialog(); } });
//در این متد نمی تونم کلیک لیسنر تعریف کنم، خطای کامپایل هم نمی ده 
private void sampledialog() {
final dialog = new Dialog(mainActivity.this); WindowManager.LayoutParams lp = new WindowManager.LayoutParams(); lp.copyFrom(dialog.getWindow().getAttributes()); dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(R.layout.gidedialog); lp.width = WindowManager.LayoutParams.MATCH_PARENT; lp.height = WindowManager.LayoutParams.MATCH_PARENT; btnShortDesc.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) {
dialog.dismiss();
//به خاطر این لیسنر برنامه کرش می کنه، به طور کل دیالوگ باز نمی شه!!! } }); dialog.show(); dialog.getWindow().setAttributes(lp); }

نظرات

پاسخ‌ها 1

hosein2020 12 سال پیش

سلام ، شما اون button دوم برای بستن dialog رو کجا تعریف کردید ؟

تابعتون رو به شکل زیر تغییر بدید :

 private void sampledialog() {
            final Dialog dialog = new Dialog(mainActivity.this);
WindowManager.LayoutParams lp = new WindowManager.LayoutParams(); lp.copyFrom(dialog.getWindow().getAttributes()); dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(R.layout.gidedialog); lp.width = WindowManager.LayoutParams.MATCH_PARENT; lp.height = WindowManager.LayoutParams.MATCH_PARENT;
//تعریف دکمه دوم
Button btnShortDesc = (Button) dialog.findViewById(R.id.btnShortDesc); btnShortDesc.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { dialog.dismiss(); //به خاطر این لیسنر برنامه کرش می کنه، به طور کل دیالوگ باز نمی شه!!! } }); dialog.show(); dialog.getWindow().setAttributes(lp); }

 

نظرات

محمد مقصودی 12 سال پیش
من دکمه دوم رو هم تعریف کرده بودم ولی .dialog رو قبلش نگذاشته بودم. درست شد ممنونم

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