android - 在 arrayadapter 中更新数据后 ListView 回到顶部位置

标签 android listview android-arrayadapter

我有一个每 5 秒刷新一次的 ListView ,使用 XML 解析。刷新后,列表当前位置回到第一位。有什么办法可以解决这个问题吗?

最佳答案

通过使用 setAdapter() 更新列表,Android 会重置位置。尝试更改适配器。

我不知道您使用的是哪个适配器,所以这里有两个示例。

数组适配器

adapter = list.getAdapter();
if (adapter == null) {
    // Create new adapter + list.setAdapter()
} else {
    adapter.clear();
    adapter.addAll(newData);
    adapter.notify(notifyDataSetChanged());
}

游标适配器

adapter.changeCursor(newCursor);

关于android - 在 arrayadapter 中更新数据后 ListView 回到顶部位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9870981/

相关文章:

java - 为什么我的intelliJ IDEA不建议我实现 `Parcelable`接口(interface)的更多方法?

C++ Win32 - 跟踪私有(private)聊天的 ListView 项目

c# - 带有 CollectionViewSource 的 WPF ListView 未在 ViewModel 中获取 SelectedItem

java - 如何创建其中包含文本和图像的框

android - ArrayAdapter.setNotifyOnChange 工作不正常

java - 尝试添加到 ArrayAdapter 时应用程序崩溃

android - 响应为 204(无内容)时的 SSLHandshakeException

java - 按钮 OnClickListener 给出 ViewPostImeInputStage ACTION_DOWN 错误

android - 如何在列表数据更改时触发的 ListView 上设置监听器?

java - ScreenCap 直接 toByteArray ,跳过保存到内存