我定义了一个像
这样的数组String[] types = {"item0", "item1", "item2", "item3", "item4", "item5", "item6", "item7", "item8", "item9"};
填写完成后,我会使用其结果填充带有单项选项的警告对话框,
AlertDialog.Builder b = new Builder(this);
b.setTitle("Results");
b.setSingleChoiceItems(types, 0, new DialogInterface.OnClickListener() {
问题是结果大小是可变的,并且项目列表总是以固定值填充。我想使用ArrayList但setSingleChoiceItems方法不接受它。怎么到达?谢谢
答案 0 :(得分:12)
使用ArrayList构建项目:
List<String> items = new ArrayList<String>();
items.add("this");
items.add("that");
然后在将其传递给setSingleChoiceItems
时将其转换为数组:
b.setSingleChoiceItems(items.toArray(new String[items.size()]), 0, new DialogInterface.OnClickListener() { ... });
如果你想实现一个数据源,你可以实现Cursor interface,但这可能是过度的。