如何在Android SDK中使用单选按钮取消AlertDialog

7

我创建了一个带有两个单选按钮的AlertDialog。当用户选择一个选项时,我需要关闭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();

有人能帮我如何做这个吗。

谢谢

5个回答

14
请尝试这个...
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();

@Rishi 如果你觉得这个有用,请点赞并写下你的答案,这样也可以帮助其他人。 - Nikhil

3
只需添加 < / p >
dialog.cancel();


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

        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        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(); 
                   dialog.cancel();
              } 
        });
        final AlertDialog alert = builder.create();
        alert.show();

1

调用

dialog.dismiss()

onClick中。


0
if (isChecked())
{
  dialog.dismiss();
}

0

setSingleChoiceItems 在其中有对话框 实例(instance)

@Override
public void onClick(DialogInterface dialog, int which) { // here is the instance
          countryBtn.setHint(countryList.get(which));
          dialog.cancel();
         }

使用该实例通过以下方式将其解除。

dialog.dismiss();

或者

dialog.cancel();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接