[英]Simple way to store a Linked List
嗨,我目前正在使用Android应用程序,当用户从应用程序进程中终止该应用程序时,我需要存储一个LinkedList。 我看过这个简单的方法来在Android应用程序中保存LinkedList?
并且接受的答案似乎不起作用,AndroidStudio抱怨它期望使用数组列表,而不是链接列表。 我意识到这个问题已有3年的历史了,在那段时间里一定有所改变,它才失效。
是否可以将链接列表存储在捆绑包中? 还是有人能使我的LinkedList持久存在?
干杯
正如我在评论中提到的那样,您将无法将LinkedList
保存到捆绑包中,但是您可以将LinkedList
转换为ArrayList
进行保存,然后在再次将其重新加载到应用程序中时将其转换回去。 ArrayList
和LinkedList
的构造函数接受一个Collection
,并将按其迭代器返回它们的顺序添加元素(即,LinkedList的FIFO)
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
ArrayList<MyObject> listToSave = new ArrayList<MyObject>(myLinkedList);
outState.putParcelableArrayList("key", listToSave);
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
ArrayList<MyObject> loadedList = savedInstanceState.getParcelableArrayList("key");
myLinkedList = new LinkedList<MyObject>(loadedList);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.