Ich schaffe Viewmodel in MainFragment:Ansichtsmodell erstellt wird wieder für das Fragment
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
...
MainViewModel mainViewModel = ViewModelProviders.of(this).get(MainViewModel.class);
...
}
Wenn der Benutzer wählen Sie den Punkt dann zu Einzelheiten Fragment navigieren, diese Transaktion zu Backstack hinzugefügt wird.
getFragmentManager()
.beginTransaction()
.replace(R.id.root, Details.newInstance())
.addToBackStack(null)
.commit();
Wenn der Benutzer drückt zurück in Einzelheiten Fragmente, ist alles in Ordnung, aber wenn Benutzer dreht Gerät in Einzelheiten Fragment und drücken damals:
- neue Instanz von Viewmodel für MainFragment erstellt
- alt Instanz ist noch am Leben (Methode onCleared nicht aufgerufen)
Ist das ein Fehler in ViewModelProviders? Wie behebe ich das? ViewModel sollte meiner Meinung nach wiederhergestellt werden.
Haben Sie eine Lösung für dieses Problem gefunden? – SqueezyMo