我正在嘗試重新設計我的應用程序,但我不確定最好的方式去解決它。保存RecyclerView /備註以供將來使用
我現在有一些鍛鍊的頁眉/父項可擴展列表視圖。每次鍛鍊有4個孩子項目,代表4周。當用戶點擊一週時,它會將它們發送到一個新的活動,該活動有3個選項卡片段(表示星期一,星期三和星期五)。這些片段每個都有一個回收器視圖,根據所點擊的項目(自定義對象)填充數據。這裏是一個小例子:
//RECYCLERVIEW
final RecyclerView rv = (RecyclerView) view.findViewById(R.id.mRecyclerMon);
rv.setLayoutManager(new LinearLayoutManager(this.getActivity()));
rv.setAdapter(new MyRecyclerAdapter(this.getActivity(), getMondayWorkout(), 1));
private ArrayList<Workout> getMondayWorkout() {
ArrayList<Workout> workout = new ArrayList<>();
switch (workout3) {
case "w29w1": {
Workout workouts = new Workout(getActivity().getString(R.string.benchpress), "50", "5", bench50, false);
workout.add(workouts);
workouts = new Workout(getActivity().getString(R.string.benchpress), "60", "4", bench60, false);
workout.add(workouts);
這只是一個小例子。這很好,但我想使它更容易使用。我的想法是讓用戶選擇鍛鍊,然後將每次鍛鍊作爲事件添加到Caldroid日曆中,當他們單擊鍛鍊時(例如,星期一),我將使用之前用於回收器視圖的相同視圖。到目前爲止,我相信我知道如何做到這一切。
我的問題是,我想實現一個保存功能。因此,當用戶完成鍛鍊後,它將保存到Caldroid的相應日期,並更改當天的bg顏色,以便用戶知道它已完成。我只是不確定如何保存鍛鍊,以便用戶可以返回到當天查看它,因爲現在回收者視圖總是被重新使用,並且根據當天的情況重新使用相同的數組列表。他們點擊。我還想添加一個選項來記筆記,這使得事情變得更加複雜。
基本上我想要它,所以當用戶保存他們完成的鍛鍊時,它會保存該活動的每一部分,回收者視圖項目(包括複選標記狀態)以及與該鍛鍊一起拍攝的筆記。
我曾考慮過使用sqlite,但我不知道如何將自定義對象的ArrayList/recyclerview狀態保存到sqlite中,然後在保存項目並單擊用戶後再引用它在特定日期
如果任何人有任何幫助都,或者可以點我在正確的方向,這是非常感謝!我不知道從哪裏開始!非常感謝!
我與共享偏好的擔心是它可能是一個相當大的數據量,以保存每個數組列表(其中包含20多個項目)爲他們做的每一個鍛鍊。在幾個月的時間裏,我認爲這可能會成爲共享pref的大量數據。 – LBJ33
我曾經想過SQLite的,但我不知道究竟如何我會保存一個ArrayList/recyclerview的狀態,自定義對象到sqlite的 – LBJ33
呀,所以對於海量數據,必須去sqlite的分貝 –