【问题标题】:Prepend item in ListView and show in top在 ListView 中添加项目并显示在顶部
【发布时间】:2015-03-13 14:53:38
【问题描述】:

我面临一个问题,例如,我正在开发一个 android 应用程序,其中所有记录都来自使用 REST 调用的数据库并使用 ListView 显示。现在在同一个屏幕上有一个按钮可以发布新记录。

当用户单击按钮发布新记录时,它将以弹出窗口(DialogFragment)的形式出现。如果用户从那里发布任何记录,则该记录应预先添加到 ListView 而无需任何休息调用。

用户应该感觉到记录添加到数据库并立即显示在屏幕上。

在此先感谢您的帮助。

【问题讨论】:

    标签: android listview refresh prepend


    【解决方案1】:

    所以,我猜您正在使用从 BaseAdapter 或 ArrayAdapter 扩展而来的列表适配器。 用户添加新记录后,您应该将其添加到记录列表中,然后调用适配器的方法notifyDataSetChanged()。这样,新记录将立即显示在屏幕上,您可以稍后将其添加到数据库中(在活动被销毁之前)。 在这里你可以看到一个带有notifyDataSetChanged()的例子

    How to correctly implement BaseAdapter.notifyDataSetChanged() in Android

    【讨论】:

    • 您好感谢您的回答。是的,这可以是方法,但问题是arrayList(对于ArrayAdapter)在不同的类中而不是在同一个弹出类中。 ArrayAdapter 和 popup 是两个不同的类。
    • 如何创建一个公共方法,其中 Arraylist 是在其上添加元素?
    • 不,我没有得到它,它可能会丢失 ArrayList 的旧值
    • 你在哪里调用弹出类?它是否从 DialogFragment 扩展而来?或者类似的东西?从一开始我就在猜测你的实现,因为我没有看它......例如,我认为你有一个控制 listView 的类(带有 arrayList 及其适配器)并且你调用对话框(弹出)...你能告诉我更多关于它的信息吗?
    • 我有一个活动 A(ListView 在活动 A 中),我从那里调用 DialogFragment。如果用户单击 DialogFragment 的确定按钮,则弹出窗口将关闭并将数据发送到数据库。同时我希望我的 ListView 中的数据在活动 A 中。
    猜你喜欢
    • 2012-08-26
    • 1970-01-01
    • 2019-12-17
    • 2020-12-11
    • 2014-02-03
    • 1970-01-01
    • 1970-01-01
    • 2020-11-18
    • 1970-01-01
    相关资源
    最近更新 更多