在我的应用首选项屏幕中,我想弹出一个对话框,其中显示了动态生成的复选框项列表。
如何做到这一点,以及如何获得检查值?我过去曾做过自定义对话,但由于某种原因,我的大脑今天不会运作......
感谢。
答案 0 :(得分:1)
我这样做的方法是创建一个包含CheckBoxes行的ListView。
private class CheckBoxListAdapter extends ArrayAdapter<CheckBoxListRowItem> {
}
要获取选中的值,我为每个CheckBox调用setOnCheckedChangeListener。每次检查时,它都会更新我的模型数据(CheckBoxListRowItem)。当您需要确定哪些CheckBox被选中时,您可以从模型数据中获取它,而不是直接从CheckBox对象获取(这是我认为它应该最初工作的方式)。
答案 1 :(得分:0)
我最终创建了一个扩展ListActivity的活动。由于我想要一个复选框列表(可以选择0或更多),在我的
中的onCreate():
getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
我通过覆盖onListItemClick()来监听点击。
我使用的列表适配器是ArrayAdapter:
setListAdapter(
new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_multiple_choice,
some_string_array));