![](/img/trans.png)
[英]Passing ArrayList from RecyclerView into another Activity
[英]Save Arraylist into sharedpreferences in one activity and load it in recyclerview in another activity
我是 Android Dev 的新手,我正在嘗試構建一個應用程序,用戶可以在其中購買產品,一旦用戶單擊“是”按鈕並且訂單是,名稱、價格、購買日期等詳細信息將反映在訂單頁面上放置。
我試圖在第一個活動中將每個訂單的變量存儲到 ArrayList 中,並在第二個活動中將 ArrayList 綁定/顯示到 recyclerview 中。 但是當我嘗試下面的代碼時,它只在 recyclerview 中顯示一個項目,這是最后一次購買。
Function 在 SharedPrefernces 中保存 ArrayList:-
private void saveData() {
SharedPreferences sharedPreferences = getSharedPreferences("orders",MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
Gson gson = new Gson();
orderlist.add(new ModelClass(name,date,price));
String json = gson.toJson(orderlist);
editor.putString("tasklist",json);
editor.apply();
}
訂單頁面(RecyclerView)活動中的 Function 加載數據:-
private void loadData(){
SharedPreferences sharedPreferences = getSharedPreferences("orders",MODE_PRIVATE);
Gson gson = new Gson();
String json = sharedPreferences.getString("tasklist",null);
Type type = new TypeToken<ArrayList<ModelClass>>(){}.getType();
orderlist = gson.fromJson(json,type);
}
先感謝您
在保存任務時,您需要保留現有列表試試這個 -
private void saveData() {
SharedPreferences sharedPreferences = getSharedPreferences("orders",MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
Gson gson = new Gson();
// fetch existing list
String json = sharedPreferences.getString("tasklist",null);
Type type = new TypeToken<ArrayList<ModelClass>>(){}.getType();
orderlist = gson.fromJson(json,type);
// add newest item in old list
orderlist.add(new ModelClass(name,date,price));
String json = gson.toJson(orderlist);
editor.putString("tasklist",json);
editor.apply();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.