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

标签 android listview listbox dialog spinner

在我的 Android 应用程序中,当用户单击按钮时,我希望列表框显示为模态对话框,就像 Spinner 的工作方式一样,除了列表框还可以允许多个选择。我尝试按照 android hello-listview 教程 (http://developer.android.com/resources/tutorials/views/hello-listview.html) 中的描述使用 ListView。不幸的是,它似乎并不像我预期的那样工作。它不像 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
当单击多选列表框时,多选微调器/ ListView 会显示在对话框中,如下所示:
http://img835.imageshack.us/img835/711/listboxmulti.png
所以我的问题是:

  1. 这个允许在模态对话框中进行多选的小部件(在上面的最后一张图片中)是什么。我确信这一定是 Android 平台上已经可用的组件,因为它正在浏览器中显示。
  2. 甚至浏览器中的微调器(在前 2 个图像中)看起来也与我在我的应用程序中看到的默认微调器不同。浏览器是否会将自定义皮肤/颜色应用到它显示的 Spinners 的背景和文本?

最佳答案

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

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

关于Android - 如何将列表框实现为模态对话框/弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5412592/

相关文章:

java - 使用渐变绘制更改点击 ListView 项目时的颜色

c# - 列表框延伸到页面之外

c# - 如何将 ObservableCollection 绑定(bind)到 ListBox?

用于非焦点选择的 JavaFX ListView 和 TableView CSS

Android 新位置 API 海拔高度始终为零

android - 创建穿戴应用程序 XML : AAPT: error: attribute android:boxedEdges not found 时面临问题

android - 在 Linux 桌面上运行 Android NDK 二进制文件

android - DialogFragment + listview = getView 调用次数过多

c# - 从文件加载列表框

java - 以编程方式 ScrollView