【问题标题】:Update ListView on runtime when new data items added添加新数据项时在运行时更新 ListView
【发布时间】:2016-04-03 04:29:54
【问题描述】:

我正在为 Android 开发一个短信应用程序。

当用户正在查看线程(ListView)并且发送或接收新消息并且需要在线程末尾添加时,我被卡住了。

我正在使用游标适配器填充ListView,并在游标适配器中覆盖了getView() 方法,而不是newView()bindView()

现在,我无法找到更新ListView 的方法,我已经尝试了以下方法:

  1. notifyDataChanged() 在适配器中。
  2. 我可以在 StackOverflow 上找到的所有其他解决方案。
  3. 我不想创建新适配器并将其添加到列表中,因为它会消耗大量性能。

我一直在考虑扩展视图并将其手动添加到列表中,但我想知道是否有更好的方法来做到这一点。

【问题讨论】:

    标签: android listview android-listview android-cursoradapter android-cursor


    【解决方案1】:

    您可以通过使用 notifyDataChanged() 来做到这一点。在 notifyDataChanged() 您必须确保您的 Collection 的引用必须相同。作为参考如果您使用 ArrayList 数据列表来设置适配器。当新数据出现时,您需要这样做。

     dataList.clear();
    

    dataList.addAll("你的新数据");

    在调用adapter.notifyDataChanged()之后;

    这将起作用..它是 notifyDataChanged() 的工作方式..引用应该相同您不能将新的 ArrayList 分配给 adapter 。用户 clear() 和 add() 在您的收藏中。如果有任何问题,请告诉我..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-11
      • 1970-01-01
      相关资源
      最近更新 更多