我试图重新设计我的应用,但我不确定最好的方法。
我目前有一个可扩展的列表视图,其中一些练习作为标题/父项。每个锻炼有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颜色,以便用户知道它已完成。我只是不确定如何保存锻炼,以便用户可以回到那一天并查看它,因为现在回收器视图总是被重复使用,并重新使用相同的arraylists,具体取决于他们点击的那一天。我还想添加一个选项来记笔记,这会让事情变得更复杂。
基本上我想要它,所以当用户保存他们已完成的锻炼时,它会保存该活动的每个部分,回收者查看项目(包括复选标记状态)以及使用该锻炼所做的笔记。
我考虑过使用sqlite,但我不确定我是如何将带有自定义对象的ArrayList / recyclerview的状态保存到sqlite中,然后在保存项目和用户之后再回头查看点击特定日期
如果有人有任何帮助,或者可以指出我正确的方向,我们非常感谢!我不知道从哪里开始!非常感谢!
答案 0 :(得分:0)
您可以将数据保存在共享的prefeerence中,然后使公共getter功能重用它们吗?