ViewHolder
class ViewHolder : ListItem.ViewHolder
Holds views of TextListItem.
Summary
Inherited functions
|
|
From class ViewHolder
Int |
getAdapterPosition()
Returns the Adapter position of the item represented by this ViewHolder.
Note that this might be different than the getLayoutPosition() if there are pending adapter updates but a new layout pass has not happened yet.
RecyclerView does not handle any adapter updates until the next layout traversal. This may create temporary inconsistencies between what user sees on the screen and what adapter contents have. This inconsistency is not important since it will be less than 16ms but it might be a problem if you want to use ViewHolder position to access the adapter. Sometimes, you may need to get the exact adapter position to do some actions in response to user events. In that case, you should use this method which will calculate the Adapter position of the ViewHolder.
Note that if you've called RecyclerView.Adapter#notifyDataSetChanged() , until the next layout pass, the return value of this method will be NO_POSITION .
|
Long |
getItemId()
Returns The itemId represented by this ViewHolder.
|
Int |
getItemViewType()
|
Int |
getLayoutPosition()
Returns the position of the ViewHolder in terms of the latest layout pass.
This position is mostly used by RecyclerView components to be consistent while RecyclerView lazily processes adapter updates.
For performance and animation reasons, RecyclerView batches all adapter updates until the next layout pass. This may cause mismatches between the Adapter position of the item and the position it had in the latest layout calculations.
LayoutManagers should always call this method while doing calculations based on item positions. All methods in RecyclerView.LayoutManager , RecyclerView.State , RecyclerView.Recycler that receive a position expect it to be the layout position of the item.
If LayoutManager needs to call an external method that requires the adapter position of the item, it can use getAdapterPosition() or RecyclerView.Recycler#convertPreLayoutPositionToPostLayout(int) .
|
Int |
getOldPosition()
When LayoutManager supports animations, RecyclerView tracks 3 positions for ViewHolders to perform animations.
If a ViewHolder was laid out in the previous onLayout call, old position will keep its adapter index in the previous layout.
|
Int |
getPosition()
|
Boolean |
isRecyclable()
|
Unit |
setIsRecyclable(recyclable: Boolean)
Informs the recycler whether this item can be recycled. Views which are not recyclable will not be reused for other items until setIsRecyclable() is later set to true. Calls to setIsRecyclable() should always be paired (one call to setIsRecyclabe(false) should always be matched with a later call to setIsRecyclable(true)). Pairs of calls may be nested, as the state is internally reference-counted.
|
String |
toString()
|
|
|
Public constructors
<init>
ViewHolder(itemView: View!)
Public methods
getBody
@NonNull fun getBody(): TextView
getContainerLayout
@NonNull fun getContainerLayout(): ViewGroup
getPrimaryIcon
@NonNull fun getPrimaryIcon(): ImageView
getSupplementalIcon
@NonNull fun getSupplementalIcon(): ImageView
getSupplementalIconDivider
@NonNull fun getSupplementalIconDivider(): View
getSwitch
@NonNull fun getSwitch(): Switch
getSwitchDivider
@NonNull fun getSwitchDivider(): View
getTitle
@NonNull fun getTitle(): TextView
onUxRestrictionsChanged
fun onUxRestrictionsChanged(restrictionsInfo: CarUxRestrictions!): Unit
Updates child views with current car UX restrictions.
Text
might be truncated to meet length limit required by regulation.