(Android)在对话框中列出,只有一个带复选框的项目

时间:2012-10-18 18:32:14

标签: android list checkbox dialog alert

好的,我已经搜索了一段时间了,但我找不到任何东西。我的应用程序在列表中显示学生学校日程安排,当用户单击列表中的某个类时,它会显示一个对话框,其中列出了几个选项(编辑,删除,设置警报)。编辑和删除很简单,因为它们被点击并且发生了某些事情,但我需要“设置警报”选项的帮助。我不希望它是可点击的,我只想要一个右侧的复选框,它将打开或关闭闹钟。这是我的对话框的代码:

AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle(courseName)
    .setItems(R.array.courseList, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            switch(which) {
            case LIST_EDIT:
                break;
            case LIST_DELETE:
                break;
            case LIST_ALARM:
                break;
            }
        }
    });

    AlertDialog alert = builder.create();
    alert.show();

现在我的资源xml文件中的字符串数组中的列表选项带有id courseList。 LIST_EDIT,LIST_DELETE和LIST_ALARM是与列表中的索引相对应的最终int。我真的不确定如何在闹钟列表项中添加一个复选框,任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

如果您熟悉片段,则可以使用 FragmentDialog ,然后在 onCreateDialog 方法中根据需要创建对话框。< / p>

LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.list, null);
_list = (ListView) view.findViewById(R.id.listview);
_adapter = new AdapterDialog(_context);
_list.setAdapter(_adapter);
//
AlertDialog.Builder builder = new AlertDialog.Builder(_context);
builder.setView(view);  builder.setTitle("Dialog").setPositiveButton(getActivity().getString(android.R.string.ok), this);

return builder.create();

或类似的东西 然后使用单例方法或构造函数

创建对话框
_dialog = Dialog.newInstance(R.string.title, this);
_dialog.setCancelable(true);
_dialog.show(getSupportFragmentManager(), null);

如果你想在列表中有自定义行,你必须使用适配器,你的aproach你不能添加比“按钮”更多的东西

希望有所帮助