阅读量:5
notifyDataSetChanged() 是 RecyclerView.Adapter 类中的一个方法,用于通知 RecyclerView 数据集已更改,以便刷新视图。
要使用 notifyDataSetChanged(),可以按照以下步骤进行操作:
- 创建 RecyclerView.Adapter 的子类,并实现其相应的方法,例如 onCreateViewHolder()、onBindViewHolder() 和 getItemCount()。
- 在适当的时机,例如在数据集发生更改后,调用 notifyDataSetChanged() 方法。
- 在适配器的适当位置(例如在 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 就会刷新并显示最新的数据。