sqlite 如何使回收者视图替换现有项目而不是添加到其中?

alen0pnh  于 2022-12-19  发布在  SQLite
关注(0)|答案(2)|浏览(148)

我已经知道如何通过查询获取排序后的数据并将其传递给Recycler视图,* 但它只会添加到RecyclerView,而不会替换已经存在的项目 *。将代码上载到Pastebin,因为与问题无关的代码在类中。
我的数据库帮助程序类= https://pastebin.com/fXHw5ccb
自定义适配器类= https://pastebin.com/4epLqWzJ
主活动类= https://pastebin.com/h5mDQunv
包括

customAdapter.notifyDataSetChanged();
    recyclerView.setAdapter(customAdapter);

或者移除它并不能解决问题。
外观:https://i.imgur.com/C60ur8b.png
单击menu sort item后我希望它的外观:https://i.imgur.com/wjZP9yX.png

7gcisfzg

7gcisfzg1#

看起来好像您多次调用storeFoodDataInArrayList(),填充了food_ID数组,但您从未清除该数组。
在填充food_ID数组之前清除该数组。

dwbf0jvd

dwbf0jvd2#

已解决:必须将自定义适配器传递给自定义对象,并从该对象读取ArrayList,这使我可以基于SQL查询进行排序。

相关问题