這裏是我的代碼 -是什麼holder.getAdapterPosition(之間)的位置屬性在onBindViewHolder(差異和構造函數)
public void onBindViewHolder(myViewHolder holder, int position) {
//1. details obj = list.get(holder.getAdapterPosition());
//2. details obj = list.get(position);
holder.position = position;
}
我得到一個警告
爲固定不要把位置;只能立即使用並致電 holder.getAdapterPosition()稍後查看RecyclerView不會 當項目的位置在 數據集更改時再次調用onBindViewHolder,除非項目本身無效或無法確定新位置 。出於這個原因,您應該只在使用 方法獲取相關數據項時使用位置參數 ,並且不應保留其副本。如果您稍後需要 某個項目的位置(例如,在點擊偵聽器中),請使用getAdapterPosition() ,稍後將更新適配器位置。
所以我很困惑從1和2哪個我應該喜歡,爲什麼?正如它所說的getAdapterPosition()給出了更新的位置,我從基於位置的列表中獲取值。
謝謝。