我正在使用Recyclerview实现记事本应用程序。Android - 为什么我们使用adapter.notifydatasetChanged()方法?
当添加,删除和编辑注释时,我将返回一个newListnote,它被修改后显示在UI上并调用adapter.NotifyDataSetChanged()。
public static void UpdateUI(List<Entity_NoteItem> newlistNote) {
/*listNoteToDisplayOnUI = newListNote();
adapter.notifyDataSetChanged();*/
adapter = new DisplayUI_CustomIconLabelAdapter(adapter.context, newlistNote);
myRecyclerView.setAdapter(adapter);
}
但我意识到,如果我分配被设置为转接器的数据由另一目的与另一存储器地址,该方法NotifyDataSetChanged的listNote()将没有任何效果。 因此,我决定使用新的listNote创建新的适配器,并调用myRecyclerView.setAdapter(adapter)并获得更多效果。
而我的问题是:为什么我们应该使用方法Adapter.NotifyDataSetChanged(),而我们可以完全新的适配器与改变的数据和setAdapter再次?
谢谢!
一遍又一遍做setAdapter可能是低效的。适配器本身倾向于管理数据。 notifyDataSetChanged将负责最佳地更新用户界面。 – jaibatrik
感谢您的回答 – Duy