2 csh 34 csh_34 于 2013.04.01 11:19 提问

在sdk中如何使用radio buttons解除AlertDialog?

我创建了一个alertdialog,里面有俩个radio buttons,当用户选择一个选项时,我需要解除alertdialog,但是不知道怎么解除,请大家的帮忙。

 final CharSequence[] items = {"First Option", "Second Option"};

 AlertDialog.Builder builder = new AlertDialog.Builder(context);
 builder.setTitle("Choose an option"); 
 builder.setSingleChoiceItems(items, -1, new  DialogInterface.OnClickListener() { 
       public void  onClick(DialogInterface dialog, int item) {
            Toast.makeText(getApplicationContext(), items[item],  Toast.LENGTH_SHORT).show(); 
       } 
 });
 final AlertDialog alert = builder.create();
 alert.show();

2个回答

nana4ever
nana4ever   2013.04.02 15:48
已采纳

使用下面的代码:

final CharSequence[] items = {"First Option", "Second Option"};

 AlertDialog.Builder builder = new AlertDialog.Builder(context);
 builder.setTitle("Choose an option"); 
 builder.setSingleChoiceItems(items, -1, new  DialogInterface.OnClickListener() { 
   public void  onClick(DialogInterface dialog, int item) {
        dialog.dismiss();
        Toast.makeText(getApplicationContext(), items[item],  Toast.LENGTH_SHORT).show(); 
   } 
});
final AlertDialog alert = builder.create();
alert.show();
franzhong
franzhong   2013.04.01 15:37
public void  onClick(DialogInterface dialog, int item) {
               Toast.makeText(getApplicationContext(), items[item],  Toast.LENGTH_SHORT).show();
               if("Second Option"==items[item]){
               System.out.println("here it is!");
               dialog.cancel();
               //cancelDLG();
               }                   
          } 

这样就是点了第二个就取消掉了
另外,你也可以定义个函数啊例如上面的cancelDLG
将这个提成全局的AlertDialog alert;
public void cancelDLG(){
alert.cancel();
}
这也一样取消掉

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!