0

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

1 回答 1

4

setItemChecked() 方法状态的文档:

The is only valid if the choice mode has been set to CHOICE_MODE_SINGLE or CHOICE_MODE_MULTIPLE.

ListView 的默认选择模式是 CHOICE_MODE_NONE,这意味着如果您没有明确地将其设置为 SINGLE 或 MULTIPLE,您对 setItemChecked() 的调用将不会执行任何操作。

所以在调用 setItemChecked() 之前尝试添加这一行:

this.getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
于 2012-07-18T22:37:52.110 回答