如何在使用Android的ListView中的列表项上设置默认选中项?

时间:2012-07-18 22:20:28

标签: android android-listview

我有一个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);

1 个答案:

答案 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);