【发布时间】:2016-06-29 17:17:42
【问题描述】:
我正在尝试为我的应用程序实现分页,并且部分成功。当我打电话给我的服务器时,我得到了一些 6 个项目,我正在将这些项目添加到 recyclerview。当用户来并滚动到最后一个项目时,我正在再次调用服务器,我正在获取第 2 页项目并将新项目添加到现有列表中。
在这里我可以成功添加新项目。但问题是我打电话给adapter.notifyDataSetChanged(),因此在添加新项目后它会转到第一个项目。
如何阻止它进入列表顶部,除了adapter.notifyDataSetChanged(),我应该调用什么?下面是我设置适配器的代码
toadlineAdapter = new ToadlineAdapter(mContext, getData());
recyclerView.setAdapter(toadlineAdapter);
toadlineAdapter.notifyDataSetChanged();
toadlineAdapter.setClickListener(this);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
【问题讨论】:
-
在您将此适配器设置为
recyclerView后,无需立即致电notifyDataSetChanged!!!!!!!!!!!! ...还有添加项目的代码在哪里? -
... 也来自
RecyclerView.Adapter.notifyDataSetChanged()docs - 如果您正在编写适配器,如果可以的话,使用更具体的更改事件总是更有效。将 notifyDataSetChanged() 作为最后的手段。 .... 你有没有尝试阅读它?
标签: android android-recyclerview