状況は次のとおりです: -リストビュー行には、チェックボックス(およびいくつかのテキストビュー)を含むレイアウトがあります-私はこの方法でIDを設定します..android.R.layout.simple_list_item_multiple_choiceのように
<CheckBox
android:id="@android:id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content/>
および関連する他のオブジェクトの下: my adapter:
プライベート クラス SelectCartAdapter は ArrayAdapter <SelectCartListItem> を拡張します ...
そして、Checkable! を実装する私の SelectCartListItem です。
public class SelectCartListItem は、OnClickListener、Checkable を実装しています ...
複数の選択肢があるリストビュー
onCreate のいくつかのリストビュー設定:
m_ListView.setItemsCanFocus(false); m_ListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
だから明らかに私はローテーションのチェックを保存したい..私の試行はすべて失敗した
これはIDを出力しません!
@Override
public void onSaveInstanceState(Bundle args) {
Log.d(">>>onSaveInstanceState","<<<<<<<<<<<<<<<<<<<<<<<<<");
long[] toSave = m_ListView.getCheckItemIds();//TODO: save!
for(int i=0;i<toSave.length;i++){
Log.d(">>>>"+i+"]",toSave[i]+"");
}
super.onSaveInstanceState(args);
}
だから私は何が欠けている.. アイデア.. 誰か?
更新: 私の解決策: 新しいオブジェクト Map<String, Boolean> 内に静的マップを作成しました。これには、チェック/チェック解除の状況 + 追加/getCheck 状態への静的メソッドが含まれます。