So Situation ist: - Listview Reihen haben ein Layout, das eine Checkbox (und ein paar o Textviews) enthält - i die ID auf diese Weise eingestellt .. wie in android.R.layout.simple_list_item_multiple_choiceBenutzerdefinierte Listview Zeile mit Checkbox und Einsparungen Häkchen bei Rotation
<CheckBox
android:id="@android:id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content/>
und unter anderen Objekten beteiligt: mein Adapter:
private Klasse SelectCartAdapter erstreckt ArrayAdapter < SelectCartListItem> ...
und mein SelectCartListItem, das Checkable implementiert!
public class SelectCartListItem implementiert OnClickListener, überprüfbar ...
und Listenansicht mit Multiple-Choice-
und einigen Einstellungen in Listenansicht onCreate:
m_ListView.setItemsCanFocus (false); m_ListView.setChoiceMode (ListView.CHOICE_MODE_MULTIPLE);
So offensichtlich möchte ich die Kontrollen der Drehung speichern speichern zu .. alle meine Versuche waren erfolglos gewesen
Dieses keine ids druckt!
@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);
}
Also was vermisse ich .. Ideen .. jemand?
UPDATE: meine Lösung: Ich erstellte eine statische Karte in einem neuen Objekt Karte < String, Boolean> .. die meine check/disconnect Situation + statische Methoden zum Hinzufügen/getCheck Zustand enthalten .. es ist nicht so schön, aber funktioniert ...
Ich denke, das OP gibt an, dass das zurückgegebene Array leer ist, also wird es nicht viel helfen, es in das Bündel zu speichern. –
korrigieren Aleks G! + dass ich mit Fragment und keinem onRestoreInstanceState arbeite ... aber das ist nicht das Problem, das ich onActivityCreated verwende ... Also sollte dies im Fokus sein: m_ListView.getCheckItemIds(); <<< funktioniert nicht – pulancheck1988