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

时间:2019-01-02 08:39:45

标签: android android-recyclerview

我已使用回收站视图在列表中显示数据。

在我的应用程序中,我每隔10秒就会运行一项服务,以更新列表中的数据。 现在的问题是,每次列表滚动跳转到顶部时,我都从服务中获取数据。

我不知道代码有什么问题。

我已经浏览了以下链接,但没有解决。

Recyclerview Position changing to first position when I Update

Refresh recyclerView adapter with new items on top

notifyDataSetChanged() makes the list refresh and scroll jumps back to the top

Android ListView - scrolls back to top on update

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

    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 个答案:

答案 0 :(得分:0)

我刚刚使用SwipeRefreshLayout,它解决了我的问题。

访问https://developer.android.com/training/swipe/add-swipe-interface