AndroidのRecyclerViewで再利用できないように設定する方法は何ですか?

RecyclerView内のアイテムを再利用不可に設定するには、RecyclerView.AdapterのgetItemViewType()メソッドを設定することができます。getItemViewType()メソッドは異なるタイプのアイテムを示す整数値を返し、RecyclerView.AdapterのonCreateViewHolder()メソッドで異なるタイプに応じて異なるViewHolderを返すことができます。

以下は具体的な手順です:

  1. RecyclerView.Adapter内でgetItemViewType()メソッドをオーバーライドし、異なる条件に基づいて異なるタイプを返す。例えば、最初のアイテムを再利用不可能にしたい場合は、getItemViewType()メソッドでpositionが0かどうかを判断し、0の場合は一意のタイプ値を返し、そうでなければ他のタイプ値を返す。
@Override
public int getItemViewType(int position) {
    if (position == 0) {
        return R.id.non_recyclable_item; // 返回一个独一无二的类型值
    } else {
        return R.id.recyclable_item; // 返回其他类型值
    }
}
  1. RecyclerView.AdapterのonCreateViewHolder()メソッドでは、異なるタイプの値に基づいて異なるViewHolderを返します。例えば、タイプ値がR.id.non_recyclable_itemの場合は、不可回収のViewHolderを返し、それ以外の場合は回収可能なViewHolderを返します。
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    if (viewType == R.id.non_recyclable_item) {
        View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.non_recyclable_item_layout, parent, false);
        return new NonRecyclableViewHolder(itemView);
    } else {
        View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.recyclable_item_layout, parent, false);
        return new RecyclableViewHolder(itemView);
    }
}

上記の手順に従うと、RecyclerViewで再利用できない項目を設定することができます。

bannerAds