Here is my code -
public void onBindViewHolder(myViewHolder holder, int position) {
//1. details obj = list.get(holder.getAdapterPosition());
//2. details obj = list.get(position);
holder.position = position;
}
I am getting a warning
Do not treat position as fixed; only use immediately and call holder.getAdapterPosition() to look it up later RecyclerView will not call onBindViewHolder again when the position of the item changes in the data set unless the item itself is invalidated or the new position cannot be determined. For this reason, you should only use the position parameter while acquiring the related data item inside this method, and should not keep a copy of it. If you need the position of an item later on (e.g. in a click listener), use getAdapterPosition() which will have the updated adapter position later.
So i am confused from 1 and 2 which should i prefer and why? As it says getAdapterPosition() gives updated position and i am getting values from list based on position.
Thank you.