Ich verwende parceler Bibliothek. Ich habe damit ein komplexes Objekt geschaffen. Da es das Objekt parzellierbar macht, möchte ich es zum Speichern des Fragmentstatus verwenden.Speichern Android-Aktivität oder Fragment-Status mit Parceler
Hier ist mein Modell
@Parcel
public class Example {
String name;
int age;
public Example() {}
public Example(int age, String name) {
this.age = age;
this.name = name;
}
public String getName() { return name; }
public int getAge() { return age; }
}
Und ich in meinem Fragment haben diese
ArrayList<Example> exampletLists;
Aber wenn ich versuche, es in onSaveInstanceState
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putParcelableArrayList("EXAMPLE_LIST",exampletLists); //this is what I want to do , but I can't
}
Und ich will bekommen der Wert in onCreate Like
if (savedInstanceState != null) {
exampletLists = savedInstanceState.getParcelableArrayList(EXAMPLE_LIST);
}
Wie kann ich dies mit dieser Bibliothek erreichen?
@shurvo Können Sie Ihr Problem kurz erklären? – Ajeet
Ich habe eine Recycler-Ansicht, die einen Artikel über den Web-Service anzeigt. Jedes Mal, wenn ich den Bildschirm rotiere, wird der Webservice erneut aufgerufen. Um das zu vermeiden, muss ich den Staat retten. Und die Variable, die ich einstellen möchte, ist die Liste des Beispiels. Also muss ich die Beispielklasse Parcelable machen, also kann ich sie in outState.putParcelableArrayList stellen, ich habe die Klasse Beispiel Parcelable mit dieser Bibliothek gemacht, ich kann sie nicht outState.putParcelableArrayList setzen –
Welchen Fehler bekommen Sie in putParcelable? – Ajeet