如何使用notifyDataSetChanged

avatar
作者
猴君
阅读量:5

notifyDataSetChanged() 是 RecyclerView.Adapter 类中的一个方法,用于通知 RecyclerView 数据集已更改,以便刷新视图。

要使用 notifyDataSetChanged(),可以按照以下步骤进行操作:

  1. 创建 RecyclerView.Adapter 的子类,并实现其相应的方法,例如 onCreateViewHolder()、onBindViewHolder() 和 getItemCount()。
  2. 在适当的时机,例如在数据集发生更改后,调用 notifyDataSetChanged() 方法。
  3. 在适配器的适当位置(例如在 onBindViewHolder() 方法中),确保数据集已更改,并且需要刷新视图。

以下是一个基本示例:

public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {     private List<String> mData;      // 构造方法     public MyAdapter(List<String> data) {         mData = data;     }      // 创建 ViewHolder     @Override     public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {         LayoutInflater inflater = LayoutInflater.from(parent.getContext());         View view = inflater.inflate(R.layout.item_layout, parent, false);         return new ViewHolder(view);     }      // 绑定 ViewHolder     @Override     public void onBindViewHolder(ViewHolder holder, int position) {         String item = mData.get(position);         holder.textView.setText(item);     }      // 获取数据集大小     @Override     public int getItemCount() {         return mData.size();     }      // ViewHolder 类     public static class ViewHolder extends RecyclerView.ViewHolder {         public TextView textView;          public ViewHolder(View itemView) {             super(itemView);             textView = itemView.findViewById(R.id.textView);         }     } } 

然后,在适当的位置调用 notifyDataSetChanged() 方法,例如在数据集发生更改的地方:

// 更新数据集 mData.add("New Item");  // 通知数据集已更改 myAdapter.notifyDataSetChanged(); 

这样,RecyclerView 就会刷新并显示最新的数据。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!