如何在Android中使用警告对话框设置默认单选按钮?

5

有人能帮我吗... 当弹出对话框时如何设置默认选中的单选按钮?

这是我的代码,例如:我想在启动时设置单选按钮,其中项目为“15”

public void showDialog()
{
    final CharSequence[] items = {"5", "10", "15","20"};

    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);

    alertDialogBuilder.setTitle("Set limit article");

    alertDialogBuilder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int item) {
                Toast.makeText(SettingAppDisplay.this, "You selected item No." + item + ": " + items[item], Toast.LENGTH_SHORT).show();

                if (items[item].equals("5")) {
                    //do what you want
                }
                else if (items[item].equals("10")) {
                    //do what you want                                  
                }
                else if (items[item].equals("15")) {
                    //do what you want
                }
                else if (items[item].equals("20")) {
                    //do what you want
                }

                dialog.dismiss();
            }   
    });
    alertDialogBuilder.show();

}

感谢您的参与。抱歉我的英语不好 :)
3个回答

6

setSingleChoiceItems中的第二个参数(checkedItem)从-1更改为您想要选中的单选按钮的位置,这里我将其更改为“1”,因此将选中第一个单选按钮。

 alertDialogBuilder.setSingleChoiceItems(items, 1, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int item) {
                Toast.makeText(SettingAppDisplay.this, "You selected item No." + item + ": " + items[item], Toast.LENGTH_SHORT).show();

                if (items[item].equals("5")) {
                    //do what you want
                }
                else if (items[item].equals("10")) {
                    //do what you want                                  
                }
                else if (items[item].equals("15")) {
                    //do what you want
                }
                else if (items[item].equals("20")) {
                    //do what you want
                }

                dialog.dismiss();
            }   
    });

See docs

setSingleChoiceItems (Cursor cursor, int checkedItem, String labelColumn, 
DialogInterface.OnClickListener listener)

参数

cursor:从中检索项目的光标。

checkedItem:指定哪个项目已选中。如果为-1,则没有选中任何项目。

labelColumn:光标上包含要在标签中显示的字符串的列名。

listener:当单击列表上的项目时通知。仅当单击按钮时对话框才会被解除,如果没有提供按钮,则由用户解除对话框。


0
请检查以下内容:android.app.AlertDialog.Builder.setSingleChoiceItems(CharSequence[] items, int checkedItem, OnClickListener listener) 将项目的整数值作为第二个参数`checkedItem`返回其位置。
要将默认值设置为第15项,请执行以下操作:
alertDialogBuilder.setSingleChoiceItems(items, 14, new DialogInterface.OnClickListener()

0

默认选中的项目是由setSingleChoiceItems中的中间参数设置的。

alertDialogBuilder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {

在你的代码中,你将其设置为-1,这意味着默认情况下不会选择任何项目。只需将该值更改为您想要选择的数组中的值即可。请记住,从第一个开始以0开始计数,一直到您想要选择的项目。

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