【发布时间】:2023-03-09 08:55:01
【问题描述】:
我将ArrayList 的大小和数据保存在SharedPreferences 中。当我从SharedPreference 中检索ArrayList 大小时,无论之前保存的大小如何,它都会给出确切的大小。但是在这里我无法保存ArrayList 数据。当我检索ArrayList 数据时,它总是给出ArrayList 的最后一项。
这是我保存ArrayList 大小和数据的代码:
ArrayList<Items> mArrayList1 = new ArrayList<Items>();
if(mArrayList1 == 0){
mStoreItem.setItem(id);
mArrayList1.add(mStoreItem);
int size = mArrayList1.size();
System.out.println("array list size : " + size);
MyPreferences.savePreferences(getActivity(),
"arraylist_size", Integer.toString(size));
for (int i = 0; i < mArrayList1.size(); i++) {
String id = mArrayList1.get(i)
.getItem();
MyPreferences.savePreferences(getActivity(),
"id", id);
}
} else if(mArrayList1 > 0){
mStoreItem.setItem(id);
mArrayList1.add(mStoreItem);
int size = mArrayList1.size();
System.out.println("arrayList size : " + size);
MyPreferences.savePreferences(getActivity(),
"arraylist_size", Integer.toString(size));
for (int i = 0; i < mArrayList1.size(); i++) {
String id = mArrayList1.get(i)
.getItem();
MyPreferences.savePreferences(getActivity(),
"id", id);
}
}
在这里我正在检索我的 ArrayList 项目:
String getListSize = MyPreferences.savePreferences(getActivity(),
"arraylist_size");
System.out.println("arrayList size : " + getListSize);
if (!getListSize.equals("")) {
int listSize = Integer.parseInt(getListSize);
if (listSize > 0) {
for (int i = 0; i < listSize; i++) {
String getListitems = MyPreferences
.getPreferences(getActivity(), "id");
System.out.Println("list items : "+ getListItems);
}
}
}
如何在SharedPreferences 中存储ArrayList 项目?
【问题讨论】:
标签: android arraylist sharedpreferences