2016-07-07 7 views
0

Ich habe eine Adapter-Aktivität, die CursorAdapter erweitert. So hat es overriden Methoden wie newView(), bindView(). Ich aktualisiere den Viewholder oft mit Textview-Werten. Dies funktioniert gut im Hochformat. Im Querformat werden die Werte nicht beibehalten.Landscape-Modus, Werte nicht persistent

Ich weiß, dass Sie onSaveInstanceState und onRestoreInstanceState verwenden müssen. Aber diese sind für Aktivitäten und meiner ist eine Adapter-Klasse. Was mache ich in diesem Fall?

In einem Fragment Aktivität, ich habe -

@Override 
public void onSaveInstanceState(Bundle outState) { 
    outState.putInt("Pos", mPosition); 
    super.onSaveInstanceState(outState); 
} 

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 
} 

In meinem Adapter Klasse, Ich habe th viewholder in bindview(). Wie kann ich auf Fragment-Aktivität zugreifen oder sie verwenden und die Werte speichern

+1

Mögliche Duplikate von [Daten speichern und Orientierung ändern] (http://stackoverflow.com/questions/12214600/save-data-and-change-orientation) – buczek

Antwort

1

Die OnSaveInstanceState- und OnRestoreInstanceState-Aktivität Ihrer Aktivität muss alle Variablen speichern, die der Adapter benötigt - entweder durch direkte Speicherung oder durch Hinzufügen einer Funktion zu Ihrem Adapter speichern und wiederherstellen und diese aufrufen.

+0

Können Sie mir bitte sagen, wie mache ich das? Bitte sehen Sie meine bearbeitete Frage – Mark023