0

いくつかの項目を含むCheckedListViewがあります。これが私がそれを作成する方法の簡単な例です:

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()メソッドの状態に関するドキュメント:

は、選択モードがCHOICE_MODE_SINGLEまたはCHOICE_MODE_MULTIPLEに設定されている場合にのみ有効です。

ListViewのデフォルトの選択モードはCHOICE_MODE_NONEです。これは、明示的にSINGLEまたはMULTIPLEに設定しない場合、setItemChecked()を呼び出しても何も実行されないことを意味します。

したがって、setItemChecked()を呼び出す前に、次の行を追加してみてください。

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