如何在 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))
从包中再次检索模型非常简单。
我有一个列表,我想在它与数据绑定后存储它,这样当用户旋转设备时,它就不必在服务器上下载数据。
这是模型
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))
从包中再次检索模型非常简单。