我目前正在学习recyclerview并使用本教程编写代码 http://wiseassblog.com/2016/06/22/android-recyclerview-tutorial-onclick-and-design-part-3b/
在教程中,该人说他更新Recyclerview数据的方式不利于从互联网数据库中获取数据的程序,这就是我需要它做的事情。
所以我想问你这样做的最好方法是什么,以便该计划运作良好?
目前的代码是:
@Override
public void onSecondaryIconClick(int p) {
ListItem item = (ListItem) listData.get(p);
//update our data
if (item.isFavourite()){
item.setFavourite(false);
} else {
item.setFavourite(true);
}
//pass new data to adapter and update
adapter.setListData(listData);
adapter.notifyDataSetChanged();
}
并在适配器上:
public void setListData(ArrayList<ListItem> exerciseList) {
this.listData.clear();
this.listData.addAll(exerciseList);
}
答案 0 :(得分:0)
看起来点击辅助图标的目的是:1)切换该项目是否为收藏夹的值,然后2)更改该项目的显示以指示偏袒。 所以你不想在那时重建整个列表。 你应该能够取代:
//pass new data to adapter and update
adapter.setListData(listData);
adapter.notifyDataSetChanged();
带
adapter.notifyItemChanged(p);
只更新适配器中的那一项。