【问题标题】:Update recyclerview from the adapter从适配器更新 recyclerview
【发布时间】: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


【解决方案1】:

我按照 cmets 中的 adam yong 建议解决了这个问题。我将列表存储在适配器中。

起初我不知道该怎么做,但我发现在某个地方我必须将列表调用到数据库,认为适配器是这样的:

在主要活动中:

"'科特林 adapter.list.addAll(dbHandler!!.cursor()) "'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-06
    • 2015-09-30
    相关资源
    最近更新 更多