如上图写的点击回调事件会报出错误:Do not treat position as fixed; only use immediately and call holder.getAdapterPosition() to look it up later
搜索了之后是说不要固定position,而是当你什么时候需要用的时候直接通过holder.getAdapterPosition来取到,
但是holder.getAdapterPosition取到的是视图在整个RecyclerView 的位置,如果RecyclerView 添加了头部视图那么这个位置也包含头部视图占据的位置(比如:我点击第一个item本来position为0,但是我添加一个头部视图之后这个position就变成1了),
我用到的是一个第三方带下拉刷新上拉加载的RecyclerView ,所以这样写的话就会报数组越界;
然后写holder.getAdapterPosition-1,但是这样写的话也太特定了,比如在后续代码中可能会添加一个或者多个头部视图了那这样写明显也是不对的;
然后我现在是这样写的“:
这样当鼠标放在onBindViewHolder方法的position处时是没有提示错误的
但是看stackoverflow上面将好像最好也不要这样写;
所以我现在迷糊了啊,到底是要怎么来获取这个position了,
如果我在item里面还设置了一个Button,我需要获取这个item的position传给Button的点击回调