【发布时间】:2019-06-25 21:43:33
【问题描述】:
我正在尝试从适配器更新 recyclerview 中的数据,适配器内部的一个函数来执行更新。
它工作正常,数据正在添加到数据库中,但它没有更新视图,我需要重新启动应用程序,以便它运行游标以从数据库中获取数据并加载视图。
我发现主要问题是适配器和主要活动中的不同列表。主要活动的列表正在控制视图,因此当我在适配器中更新列表时不会发生任何事情。
'''科特林
private val adapter = Padapter (mainActivityList)
和
class adapter(private val adapterList:ArrayList)
''' 我该怎么做 ?我应该尝试在主要活动中调用一个函数吗?
非常感谢您提供的任何帮助或建议。
【问题讨论】:
-
您应该在适配器的列表中添加/删除项目(在 getView 期间读取的相同列表)。更新列表后,如果您知道哪个位置发生了变化,请调用 notifyDataSetChanged() 或 notifyItemChanged(position)
-
你的意思是更新 adapterList 和 notifyDataSetChanged() ?那不工作
-
您应该只将列表存储在适配器中,然后活动从那里检索列表以显示到回收器视图。如果您将列表存储在活动中,适配器应该有数据供视图显示,那么没有意义
标签: android sqlite kotlin android-recyclerview