好的,我已经搜索了一段时间了,但我找不到任何东西。我的应用程序在列表中显示学生的学校时间表,当用户单击列表中的类(class)时,它会显示一个对话框,其中列出了几个选项(编辑、删除、设置警报)。编辑和删除很容易,因为单击它们就会发生一些事情,但我需要有关“设置警报”选项的帮助。我不希望它是可点击的,我只希望它右侧有一个复选框,可以打开或关闭警报。这是我的对话框的代码:
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,对应于它们在列表中的索引。我真的不确定如何向警报列表项添加复选框,我们将不胜感激。
最佳答案
如果您熟悉 fragment ,您可以使用FragmentDialog,然后在方法onCreateDialog 中创建您想要的对话框。
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);
如果你想在你的列表中有一个自定义行,你必须使用适配器,你不能添加比“按钮”更多的东西
希望对你有帮助
关于android - (Android) 在对话框中列出只有一个带有复选框的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12961387/