我有一个Checked ListView,里面有几个项目。这里只是我如何创建它的一个简单示例:
public class SettingsActivity extends ListActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
List<String> settingsitems = new ArrayList<String>();
settingsitems.add("Item A");
settingsitems.add("Item B");
setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_checked, settingsitems));
...
如何在加载列表时设置要检查的默认项目?例如,当显示列表时,我只想检查Item B
。
我尝试在setListAdapter
之前和之后添加以下内容,但它不起作用:
this.getListView().setItemChecked(1, true);
答案 0 :(得分:4)
docs for the setItemChecked() method州:
仅在选择模式设置为CHOICE_MODE_SINGLE或CHOICE_MODE_MULTIPLE时才有效。
ListView的默认选择模式是CHOICE_MODE_NONE,这意味着如果您没有明确地将其设置为SINGLE或MULTIPLE,则对setItemChecked()的调用将不会执行任何操作。
所以在调用setItemChecked()之前尝试添加这一行:
this.getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);