如何在使用recyclerview + GSON实现分页时防止数据清除

时间:2016-09-17 06:29:00

标签: android android-recyclerview gson

我需要在实施分页时防止数据清除。我使用下面的代码反序列化JSON响应并在我的适配器中输入。

 Gson gson = new Gson();
        List<MyDataModel> mcontentList = Arrays.asList(gson.fromJson(getResponse, MyDataModel.class));
        mAdapter = new MyDataAdapter(getApplicationContext(), mcontentList.get(0).getResponse().getCoreContent());
        mRecyclerView.setAdapter(mAdapter);
        mRecyclerView.getAdapter().notifyDataSetChanged();

第一组数据一切正常,而我添加了滚动更多/分页,下一组数据替换了我的旧数据,建议我处理这个。

感谢。

2 个答案:

答案 0 :(得分:1)

这是因为您每次都清理旧数据。

在适配器中添加此方法

void addData(List<MyDataModel> newData){
  for(MyDataModel data:newData)
  listData.add(data);
}

然后

if(mAdapter==null){
    mAdapter = new MyDataAdapter(getApplicationContext(), mcontentList.get(0).getResponse().getCoreContent());
            mRecyclerView.setAdapter(mAdapter);
}
else{
mAdapter.addData(mcontentList);
}

答案 1 :(得分:0)

MyDataAdapter创建一个方法public并在调用此方法之前使用空列表设置适配器

void addData(List<Your Object> mcontentList){
               yourList.addAll(mcontentList);
               notifyDataSetChanged();
                                           }