【发布时间】:2017-12-07 19:56:44
【问题描述】:
我目前正在构建一个应用程序来检索远程服务器的信息。收到的数据是 JSON,我正在使用以下类构建数据列表:
public class RedditData {
private RedditTopic data;
public RedditTopic getData() {
return data;
}
}
RedditTopic 类定义如下:
public final class RedditTopic {
private static final String TAG = RedditTopic.class.getSimpleName();
private String author;
private String thumbnail;
private String title;
private String num_comments;
private long created_utc;
private String data;
private String name;
public RedditTopic(){};
public String getData() {
return data;
}
public String getAuthor() {
return author;
}
public String getThumbnail(){
return thumbnail;
}
public String getTitle(){
return title;
}
public String getComments(){
return num_comments + " comments";
}
public long getCreated_utc(){
return created_utc;
}
public String getRedditName(){
return name;
}
}
这两个类都用于将 JSON 转换为 Object 格式的数据。
我不想真正改变它们以使它们 Parceable 以避免影响 JSON 的提取。
我已添加:
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
Log.d(TAG, ">>>>>>>>>>>>>>>>>>>>>>>> SAVE");
savedInstanceState.putParcelableArrayList("RedditList", myListOfData );
super.onSaveInstanceState(savedInstanceState);
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
Log.d(TAG, ">>>>>>>>>>>>>>>>>>>>>>>> RESTORE");
List<RedditData> myListOfData = savedInstanceState.getParcelableArrayList("RedditList");
}
Android 抱怨是因为我需要在我的类 RedditData 中实现 Parceable,并且我假设可能也在 RedditTopic 类中,因为 RedditData 返回了一个 RedditTopic 列表。
有没有更好的方法呢?保持列表原样,无需 Parceable 选项。
我没有字符串列表,它是一个对象列表。
有什么想法吗?
问候
【问题讨论】:
-
你为什么这么犹豫只做
Parcelable?这是正确的做法,不会弄乱 JSON 的提取。
标签: android json android-recyclerview