我已使用回收站视图在列表中显示数据。
在我的应用程序中,我每隔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();
}
});
请帮助我摆脱这些。 对不起,英语。 预先感谢。
答案 0 :(得分:0)
我刚刚使用SwipeRefreshLayout,它解决了我的问题。
访问https://developer.android.com/training/swipe/add-swipe-interface