Adapter的position警告

RecyclerView的adapter中onBindViewHolder警告
原因1:positon赋值给成员变量。改为

currentPostion = holder.getAdapterPosition();

原因2:需要在回调中用position,比如onClick中使用,导致final int position。改为使用final ViewHolder holder。用 holder.getAdapterPosition()代替position。

holder.itemView.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            list.get(holder.getAdapterPosition()).stars > 0
                        }
                    });

总结:在回调中和赋值position的时候要用holder.getAdapterPosition()替代position

你可能感兴趣的:(Adapter的position警告)