我正在尝试为我的应用程序实现分页,但我部分成功。当我打电话给我的服务器时,我得到了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()));
答案 0 :(得分:-1)
初始化适配器时无需通知:
toadlineAdapter = new ToadlineAdapter(mContext, getData());
recyclerView.setAdapter(toadlineAdapter);
// remove below line
// toadlineAdapter.notifyDataSetChanged();
toadlineAdapter.setClickListener(this);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
在添加项目时通知,例如:
YOURLIST.add(YOUROBJECT);
toadlineAdapter.notifyDataSetChanged();