notifyDataSetChangedを使い方はどうですか?

notifyDataSetChanged() は、RecyclerView.Adapter のメソッドの1つであり、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 がリフレッシュされて最新のデータが表示されます。

bannerAds