如何在 onSaveInstanceState 上保存 List<Model> 并在 onRestoreInstanceState 中检索它

How to save List<Model> on onSaveInstaceState and retrieve it in onRestoreInstanceState

我有一个列表,我想在它与数据绑定后存储它,这样当用户旋转设备时,它就不必在服务器上下载数据。

这是模型

public class Model {
String Id, Name, Work, Phone, Lp;

public String getId() {
    return Id;
}

public String getLp() {
    return Lp;
}

public String getName() {
    return Name;
}

public String getPhone() {
    return Phone;
}

public String getWork() {
    return Work;
}

public void setId(String id) {
    Id = id;
}

public void setLp(String lp) {
    Lp = lp;
}

public void setName(String name) {
    Name = name;
}

public void setPhone(String phone) {
    Phone = phone;
}

public void setWork(String work) {
    Work = work;
}
}

那么,如何实现 onSaveInstanceState 和 onRestoreInstanceState? 任何帮助请...

onSaveInstanceState()onRestoreInstanceState() 使用 Bundle 进行数据传输。 Bundle 不支持太多的方式来存储数据列表。唯一可以满足您需求的是 putParcelableArrayList().

为此,您需要使用 Model 实现 Parcelable,并在 onSaveInstanceState() 中用 ArrayList 包装通用列表以放置数据:

outState.putParcelableArrayList(new ArrayList<Model>(models))

从包中再次检索模型非常简单。