当前位置: 首页 > 知识库问答 >
问题:

在更新回收者视图列表的数据集时,它的滚动跳到顶部(重复)

禹德水
2023-03-14

我使用了recycler视图来显示列表中的数据。

在我的应用程序中,我在每10秒的时间间隔后运行一个服务来更新列表中的数据。现在的问题是当我从服务获得数据时,每次列表滚动都会跳回到顶部位置。

我不知道代码出了什么问题。

我已经通过以下链接,但没有任何结果。

当我更新时,Recyclerview位置更改为第一个位置

使用顶部的新项目刷新recyclerView适配器

NOTIFYDATASETCHENGED()使列表刷新并滚动跳回顶部

Android ListView-更新时返回顶部

下面是初始化回收器视图的代码。

    mTableOrderAdapter = new 
    TableOrderAdapter(MainActivity.this,tableOrderModelArrayList);
    rvTableOrders.setHasFixedSize(true);

    rvTableOrders.setLayoutManager(new 
    GridLayoutManager(getApplicationContext(), 1));
    rvTableOrders.setItemAnimator(new DefaultItemAnimator());
    rvTableOrders.setAdapter(mTableOrderAdapter);

当我从服务中获取数据时,我只需将其添加到列表中并调用以下方法。

    runOnUiThread(new Runnable() {
                public void run() {
                    mTableOrderAdapter.notifyDataSetChanged();    
                }
            });

请帮我把这个处理掉。对不起,我说的是英语。提前谢谢。

共有1个答案

鱼志学
2023-03-14

我刚刚使用SwipeReresLayout解决了我的问题。

参观https://developer.android.com/training/swipe/add-swipe-interface

 类似资料:
  • 我试图实现一个无休止的滚动列表视图,但当我调用时,整个列表将刷新,然后滚动位置返回顶部。 这是正常行为吗?我如何让它简单地添加添加的项目而不刷新并保持滚动位置?

  • 我有回收站视图与数据,当它在底部与此代码它将加载新数据。我的问题是当它加载一个新的数据时,它将滚动回到顶部。我如何让它在同一个地方而不滚动? 我已经尝试在加载数据函数中安装了这个 但它仍然会向后滚动。请帮忙

  • 问题内容: 我正在尝试实现无穷尽的滚动列表视图,但是当我调用整个列表时,滚动位置将回到顶部。 这是正常现象吗?如何使它简单地添加添加的项目而不刷新并保持滚动位置? 问题答案: 这种行为是不正常的。我看不到您的代码,我建议您执行以下操作: 1)您不是从UI线程调用。正确的方法: 2)您是否偶然拨打了电话 3)在您的适配器中,您重写了方法并添加了说明以转到顶部 4)如果您使用列表来填充适配器- 每次都

  • 当我在回收器视图中选择一个项目时,会自动选择多个项目 我正在做的是 我只想获取没有重复的联系人,并在recyclerview中列出所有联系人,并使两个文本视图可见(一个用于数字,第二个用于名称)。完成了,但问题是 当我点击一个项目时,它会被点击4次(例如,如果我点击一个项目,它会显示两个文本视图,但具有相同名称和编号的相同项目会显示出来,就像我点击了4个项目并看到图片一样) 适配器类 在那里我得到

  • 我试过使用descendantFocusability=“blocksdescendents”,但这不起作用。 这是我的XML代码,可以在其中找到RecyclerView 用于向RecyclersView添加数据的代码是 所有应用程序都工作得很好,唯一的问题是滚动行为。当我在HIM中添加新数据时,我希望滚动位置不会出现在RecyclersView列表的顶部。

  • 在其他回收器视图中有一个回收器视图。两者都需要垂直滚动。外部回收器视图滚动正常,但内部回收器视图滚动不正常。 这是代码: ViewAdapter如下: 我尝试了以下两种回收商观点,但都无法解决问题 也尝试了这个: