2013-02-23 3 views
-1

У меня есть пользовательский диалог с тремя кнопками. У меня есть кнопка прослушивания для 3 кнопок .... вот код.закрыть пользовательский alertdialog на clicklistener

public void addDialog() { 
     // TODO Auto-generated method stub 
      AlertDialog.Builder alertDialog = new AlertDialog.Builder(this); 
      // Setting Dialog Title 
      alertDialog.setTitle("Add From"); 
      // Setting Dialog Message 
      alertDialog.setMessage("Add Number: "); 
      LayoutInflater layoutInflater 
      = (LayoutInflater)getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      View view=layoutInflater.inflate(R.layout.dialog_lay,null); 

      Button btn_Contact = (Button)view.findViewById(R.id.btn_contact); 
      Button btn_SMS = (Button)view.findViewById(R.id.btn_sms); 
      Button btn_Manually = (Button)view.findViewById(R.id.btn_manually); 
      // Setting Negative "NO" Button 
      alertDialog.setNegativeButton("CANCEL", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int which) { 
       // Write your code here to invoke NO event 
       Toast.makeText(getApplicationContext(), "You clicked on NO", Toast.LENGTH_SHORT).show(); 
       dialog.cancel(); 
       } 
      }); 

      OnClickListener listenerDial = new OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        // TODO Auto-generated method stub 
      // i want to close alert dialog here  

      Toast.makeText(getApplicationContext(), "You clicked contact btn", Toast.LENGTH_SHORT).show(); 

       } 
      }; 

      // add listener to button. 
      btn_Contact.setOnClickListener(listenerDial); 
      btn_SMS.setOnClickListener(listenerDial); 
      btn_Manually.setOnClickListener(listenerDial); 
      alertDialog.setView(view); 
      alertDialog.show(); 

    } 

я хочу, чтобы закрыть этот диалог предупреждения, когда любой из трех нажата клавиша .. любой suggetion plzzzz ..

ответ

0

Просто Добавлено

final AlertDialog Dial = alertDialog.create(); 

и изменить

dialog.setView(layout); to Dial.setView(layout); 

сейчас просто позвонитеDial.dismiss(); in onclick listener .. работает отлично для меня.

0

Используйте alertDialog.dismiss(), чтобы закрыть его.

+0

это сбой моего приложения .. –

0
OnClickListener listenerDial = new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
     // i want to close alert dialog here  

     alertDialog.dismiss(); 
     Toast.makeText(getApplicationContext(), "You clicked contact btn",   
     Toast.LENGTH_SHORT).show(); 

      } 
     }; 
+0

Я проверил ваш ответ, но он падает при нажатии. –

+0

сначала скажите мне, что вам нужно или что вы пытаетесь в коде ур ????? – duggu

+0

см. Это duggu

0

i'v модифицированный код просто проверить его

public void addDialog() { 
    // TODO Auto-generated method stub 
     AlertDialog.Builder alertDialog = new AlertDialog.Builder(this); 
     // Setting Dialog Title 
     alertDialog.setTitle("Add From"); 
     // Setting Dialog Message 
     alertDialog.setMessage("Add Number: "); 
     LayoutInflater layoutInflater 
     = (LayoutInflater)getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     View view=layoutInflater.inflate(R.layout.dialog_lay,null); 

     Button btn_Contact = (Button)view.findViewById(R.id.btn_contact); 
     Button btn_SMS = (Button)findViewById(R.id.btn_sms); 
     Button btn_Manually = (Button)findViewById(R.id.btn_manually); 
     // Setting Negative "NO" Button 
     alertDialog.setNegativeButton("CANCEL", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int which) { 
      // Write your code here to invoke NO event 
      Toast.makeText(getApplicationContext(), "You clicked on NO", Toast.LENGTH_SHORT).show(); 
      // dialog.dimiss(); // dialog will dismiss when you click on this button un-comment it so it works. 
      } 
     }); 

     OnClickListener listenerDial = new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
      dialog.dimiss(); // dialog will dismiss when you click on this button 

     Toast.makeText(getApplicationContext(), "You clicked contact btn", Toast.LENGTH_SHORT).show(); 

      } 
     }; 

     // add listener to button. 
     btn_Contact.setOnClickListener(listenerDial); 
     btn_SMS.setOnClickListener(listenerDial); 
     btn_Manually.setOnClickListener(listenerDial); 
     alertDialog.setView(view); 
     alertDialog.show(); 

} 
+0

Ссылка на диалог не определена. –

+0

в вашей кнопке findViewById u должен сделать это так: alertDialog.findViewById это будет ссылаться на кнопки в диалоговом окне. попробуйте, и если это не сработает, вы можете отправить лог-код! – k0sh

Смежные вопросы