我正在尝试在我的 Android 应用程序中使用数据访问对象和观察者模式。该应用程序显示用户在给定日期吃过的饭菜及其卡路里的列表。用户可以从列表中删除该项目。
代码是这样工作的:
Activity 类使用膳食数据访问对象中的方法返回膳食和卡路里列表
List<Meal> = MealDAO.getAllMeals();
该列表存储在膳食模型中:
mealModel.setMealsList(mealList)
膳食模型被
Observable
传递给ListView
适配器,适配器是Observer
当用户从 listView 中删除餐点时,Activity 使用 DAO 方法从数据库中删除餐点。
MealDAO.remove(3);
Activity 然后重置模型中的列表,该列表调用 notifyObservers 并更新适配器。
//删除后
newMealList = MealDAO.getAllMeals();
mealModel.setMealList(newMealList);
我不确定这是否是一个好方法,因为我必须重置 mealModel 中的列表。有没有更好的方法来做到这一点,或者这样可以吗?