Config
class Config
kotlin.Any | |
↳ | androidx.recyclerview.widget.ConcatAdapter.Config |
The configuration object for a ConcatAdapter
.
Summary
Nested classes | |
---|---|
The builder for |
|
Defines how |
Properties | |
---|---|
static ConcatAdapter.Config | |
Boolean |
If |
ConcatAdapter.Config.StableIdMode |
Defines whether the |
Properties
DEFAULT
@NonNull static val DEFAULT: ConcatAdapter.Config
isolateViewTypes
val isolateViewTypes: Boolean
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 ViewHolder
s.
Setting this to false
will allow nested adapters to share ViewHolder
s but it also means these adapters should not have conflicting view types (Adapter#getItemViewType(int)
) such that two different adapters return the same view type for different ViewHolder
s. By default, it is set to true
which means ConcatAdapter
will isolate view types across adapters, preventing them from using the same ViewHolder
s.
stableIdMode
@NonNull val stableIdMode: ConcatAdapter.Config.StableIdMode
Defines whether the ConcatAdapter
should support stable ids or not (Adapter#hasStableIds()
.
There are 3 possible options: StableIdMode#NO_STABLE_IDS
: In this mode, ConcatAdapter
ignores the stable ids reported by sub adapters. This is the default mode. StableIdMode#ISOLATED_STABLE_IDS
: In this mode, ConcatAdapter
will return true
from ConcatAdapter#hasStableIds()
and will require all added Adapter
s to have stable ids. As two different adapters may return same stable ids because they are unaware of each-other, ConcatAdapter
will isolate each 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 ViewHolder#getItemId()
might differ from the value returned from Adapter#getItemId(int)
. StableIdMode#SHARED_STABLE_IDS
: In this mode, ConcatAdapter
will return true
from ConcatAdapter#hasStableIds()
and will require all added Adapter
s to have stable ids. Unlike StableIdMode#ISOLATED_STABLE_IDS
, ConcatAdapter
will not override the returned item ids. In this mode, child Adapter
s must be aware of each-other and never return the same id unless an item is moved between Adapter
s. Default value is StableIdMode#NO_STABLE_IDS
.