怎样使用notifyDataSetChanged
notifyDataSetChanged() 是 RecyclerView.Adapter 类中的一个方法,用于通知 RecyclerView 数据集已更改,以便刷新视图。
要使用 notifyDataSetChanged(),可以依照以下步骤进行操作:
以下是一个基本示例:
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 就会刷新并显示最新的数据。
                TOP