【问题标题】:android - ListAdapter deleting item - refreshing viewandroid - ListAdapter 删除项目 - 刷新视图
【发布时间】:2011-03-26 18:06:41
【问题描述】:

我正在尝试使用扩展 SimpleCursorAdapter 的自定义适配器从 ListView 中删除项目。

当我尝试删除其中一个列表项时,我希望 ListView 自行刷新。我从其他帖子中读到,您可以通过调用 Cursor.requery(). 来做到这一点

虽然数据库是一致的,即删除发生,Cursor.requery() 返回 true,但它没有向我显示更新的列表,而是向我显示了一个空列表,其中包含我在 xml 文件中设置的空 TextView这个idandroid:id="@id/android:empty"

有什么想法吗?

谢谢

【问题讨论】:

    标签: android listview cursor listadapter


    【解决方案1】:

    除了requery() 调用之外,您还有其他代码会搞砸。 Here is a sample project 演示了在插入或删除新项目时使用 requery() 更新 ListView

    【讨论】:

    • 我的适配器扩展了 SimpleCursorAdapter 并且只覆盖了 newView 和 bindView。是否有我需要重写的方法,因为我不是,可能会导致触发到空列表视图?
    • @kkudi:不。我怀疑你的问题出在适配器上。也许还有其他东西正在摆脱适配器。
    【解决方案2】:

    好的,我发现了自己的问题。

    我正在关闭数据库。

    也许我只需要在活动暂停/停止等时关闭数据库。

    【讨论】:

    • Cursor 仍在使用中时无法关闭数据库。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-14
    • 2021-09-02
    相关资源
    最近更新 更多