【问题标题】:What is the best way to update ListView?更新 ListView 的最佳方法是什么?
【发布时间】:2012-09-12 07:22:43
【问题描述】:

早安,

我在 Android 中制作了我的测试应用程序,并发现了一些困难的时刻要自己完成。

我有两个选项卡片段和主机活动(创建两个选项卡片段)和操作栏(actionbarsherlock)。一个 Fragment 允许添加一些关于产品的信息并将其持久化到 SQLite 中。其他片段有一个列表视图,显示数据库中的所有产品。

问题在于,在第一个选项卡中,我将数据保存在不同的线程中,延迟时间为 5 秒,因此您单击“将产品添加到数据库”按钮,5 秒后它将被添加。但是点击后我可以切换到另一个带有 listview 的选项卡,情况如下:第一个片段中的数据由于延迟而尚未持久化,但在持久化后,listview 没有任何变化 - listview 不知道变化。当它注意到数据库中有更改时,我需要自动更新列表视图。我怎样才能做到这一点?我使用 ArrayAdapter 将数据填充到列表视图中。

【问题讨论】:

  • 所以写 ContentProvider 而不是 ArrayAdapter 使用 CursorAdapter ... 来填充 CursorProvider 如果你构建正确的 CursorLoader 使用 CursorLoader ContentProvider 刷新 ListView 在实现CursorAdapter 已经...

标签: android multithreading listview tabs


【解决方案1】:

我认为您需要使用广播接收器,并在其中调用方法 refreshDrawableState() 为您列出。接收者分别是你的活动。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-24
    • 2022-01-11
    • 2020-11-26
    • 1970-01-01
    相关资源
    最近更新 更多