1

さまざまなTABSを使用したアクティビティがあり、そのうちの1つにはSimpleCursorAdapterが入力された単一選択モードのListViewがあります。

Cursor c = db.listaPessoas(APRESENTACAO);
startManagingCursor(c);
SimpleCursorAdapter sca = new SimpleCursorAdapter(formPessoa.this,android.R.layout.select_dialog_singlechoice, c, new String[] {"nome"}, new int[] {android.R.id.text1});
pessoasInseridas.setAdapter(sca);
sca.notifyDataSetChanged();

問題は、別のタブに変更してListViewのあるタブに戻ると、ListViewの選択された項目が選択されなくなったことです(緑色のハイライトがラジオボタンから消えます)。ListViewのアイテムの状態を維持するにはどうすればよいですか?

4

2 に答える 2

1

これを試して

listView.setSelection(i);  // ex: i=5
于 2012-07-14T11:05:59.783 に答える
1

これは、Androidがメモリを節約するためにリストビューの状態を保存しないために発生します。タブを切り替えると、リストビューが「再描画」されます。データベースを更新し、リストビューがバインドされているカーソルを更新する必要があります。これは、リストビューでチェックボックスが選択された直後に実行する必要があります

于 2012-07-14T11:10:19.733 に答える