Android - 如何将列表框实现为模态对话框/弹出窗口

3

在我的Android应用程序中,当用户点击按钮时,我希望一个列表框作为模态对话框显示出来,就像Spinner的工作方式一样,除了列表框还可以允许多个选择。我尝试使用ListView,如android hello-listview教程中所述(http://developer.android.com/resources/tutorials/views/hello-listview.html)。不幸的是,它似乎并不像我预期的那样工作。它不像Spinner一样显示为模态对话框。我试着看看Android浏览器在显示列表框时做了什么。我在我的Android设备上的浏览器中浏览到www.functionx.com/html/lesson14.htm,看到以下行为(这正是我想要在我的应用程序中的行为):

当单击HTML中的下拉框/组合框时,会出现一个微调框,如图所示:
http://img842.imageshack.us/img842/803/htmlcombobox.png
当单击单选列表框时,再次出现一个微调框,如下所示:
http://img13.imageshack.us/img13/3355/listboxsingle.png
当单击多选列表框时,会出现一个多选微调框/列表视图对话框,如下所示:
http://img835.imageshack.us/img835/711/listboxmulti.png
所以我的问题是:
  1. 上图中允许在模态对话框中进行多选的小部件是什么?我确定这必须是Android平台上已经可用的组件,因为它在浏览器中显示。
  2. 即使是浏览器中的微调器(前两张图片)看起来也与我应用程序中看到的默认微调器不同。浏览器是否会将自定义皮肤/颜色应用于其显示的微调器的背景和文本?

别管第二个问题了...我的应用程序是为比我设备上安装的操作系统版本旧的版本构建的。这解释了旋转器外观上的差异。 - Beta
2个回答

15

如果有人感兴趣的话,这里是代码:

new AlertDialog.Builder(this)
            .setMultiChoiceItems(R.array.select_dialog_items,
                    new boolean[]{false, true, false, true, false, false, false},
                    new DialogInterface.OnMultiChoiceClickListener() {
                        public void onClick(DialogInterface dialog, int whichButton,
                                boolean isChecked) {

                            /* User clicked on a check box do some stuff */
                        }
                    })
            .setPositiveButton(R.string.alert_dialog_ok,
                    new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {

                    /* User clicked Yes so do some stuff */
                }
            })
            .setNegativeButton(R.string.alert_dialog_cancel,
                    new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {

                    /* User clicked No so do some stuff */
                }
            })
           .show();

3

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