public final class

ConcatAdapter.Config

extends java.lang.Object

 java.lang.Object

↳androidx.recyclerview.widget.ConcatAdapter.Config

Overview

The configuration object for a ConcatAdapter.

Summary

Fields
public static final ConcatAdapter.ConfigDEFAULT

Default configuration for ConcatAdapter where ConcatAdapter.Config.isolateViewTypes is set to true and ConcatAdapter.Config.stableIdMode is set to ConcatAdapter.Config.StableIdMode.NO_STABLE_IDS.

public final booleanisolateViewTypes

If false, ConcatAdapter assumes all assigned adapters share a global view type pool such that they use the same view types to refer to the same RecyclerView.ViewHolders.

public final ConcatAdapter.Config.StableIdModestableIdMode

Defines whether the ConcatAdapter should support stable ids or not (RecyclerView.Adapter.hasStableIds().

Methods
from java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Fields

public final boolean isolateViewTypes

If false, ConcatAdapter assumes all assigned adapters share a global view type pool such that they use the same view types to refer to the same RecyclerView.ViewHolders.

Setting this to false will allow nested adapters to share RecyclerView.ViewHolders but it also means these adapters should not have conflicting view types (RecyclerView.Adapter.getItemViewType(int)) such that two different adapters return the same view type for different RecyclerView.ViewHolders. By default, it is set to true which means ConcatAdapter will isolate view types across adapters, preventing them from using the same RecyclerView.ViewHolders.

public final ConcatAdapter.Config.StableIdMode stableIdMode

Defines whether the ConcatAdapter should support stable ids or not (RecyclerView.Adapter.hasStableIds().

There are 3 possible options: ConcatAdapter.Config.StableIdMode.NO_STABLE_IDS: In this mode, ConcatAdapter ignores the stable ids reported by sub adapters. This is the default mode. ConcatAdapter.Config.StableIdMode.ISOLATED_STABLE_IDS: In this mode, ConcatAdapter will return true from RecyclerView.Adapter.hasStableIds() and will require all added RecyclerView.Adapters to have stable ids. As two different adapters may return same stable ids because they are unaware of each-other, ConcatAdapter will isolate each RecyclerView.Adapter's id pool from each other such that it will overwrite the reported stable id before reporting back to the RecyclerView. In this mode, the value returned from RecyclerView.ViewHolder.getItemId() might differ from the value returned from RecyclerView.Adapter.getItemId(int). ConcatAdapter.Config.StableIdMode.SHARED_STABLE_IDS: In this mode, ConcatAdapter will return true from RecyclerView.Adapter.hasStableIds() and will require all added RecyclerView.Adapters to have stable ids. Unlike ConcatAdapter.Config.StableIdMode.ISOLATED_STABLE_IDS, ConcatAdapter will not override the returned item ids. In this mode, child RecyclerView.Adapters must be aware of each-other and never return the same id unless an item is moved between RecyclerView.Adapters. Default value is ConcatAdapter.Config.StableIdMode.NO_STABLE_IDS.

public static final ConcatAdapter.Config DEFAULT

Default configuration for ConcatAdapter where ConcatAdapter.Config.isolateViewTypes is set to true and ConcatAdapter.Config.stableIdMode is set to ConcatAdapter.Config.StableIdMode.NO_STABLE_IDS.