为什么在AlertDialog的setSingleChoiceItems方法中的checkedItem不起作用?

时间:2015-04-16 07:07:35

标签: java android android-alertdialog

我试图在AlertDialog列表中设置默认选定项目。

请参阅以下代码:

final CharSequence[] tools = GetTools(toolTypeIndex);
if (tools.length > 0) {
    final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    final int selectedTool = GetToolIndex();

    if(selectedTool>=0)
    {
        builder.setTitle("Select the tool")
            .setSingleChoiceItems(tools, selectedTool,
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int item) {
                            ...
                        }
                    })
            .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                ...
                    }
            })
            .show();
    }
}

但它不起作用。如果selectedTool> = 0,则默认情况下始终仅选择第一个项目。如果selectedTool == - 1则没有选定的项目。

这是非常奇怪的情况。 我阅读了文档AlertDialog.Builder setSingleChoiceItems,但它对我没有帮助。

2 个答案:

答案 0 :(得分:0)

您也可以使用listview在Alert Dialog中尝试自定义视图,或者这可以帮助您

How can I display a list view in an Android Alert Dialog?

答案 1 :(得分:0)

这是Android中的错误。您的API版本是什么?