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();

}

谢谢你的参与..对不起我的英语:)

4

3 回答 3

6

将第二个参数(checkedItem)setSingleChoiceItems从 -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();
            }   
    });

查看文档

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

参数

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

checkedItem 指定检查哪个项目。如果 -1 则不检查任何项目。

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

单击列表中的项目时通知侦听器。单击项目时不会关闭对话框。只有在单击按钮时才会关闭它,如果没有提供按钮,则由用户决定关闭对话框。

于 2013-05-30T12:48:05.633 回答
0

请检查以下android.app.AlertDialog.Builder.setSingleChoiceItems(CharSequence[] items, int checkedItem, OnClickListener listener) 将项目位置的整数值作为第二个参数checkedItem。

要将默认值设为第 15 项,请执行以下操作

alertDialogBuilder.setSingleChoiceItems(items, 14, new DialogInterface.OnClickListener()
于 2013-05-30T12:46:44.410 回答
0

默认选中项由中间参数设置setSingleChoiceItems

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

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

于 2013-05-30T12:48:19.443 回答