1,如果想在Recycler View里直接获取:
可以把接口的方法写在:
方法里面,用position参数,
2,如果想写在ViewHolder里面,则调用getAdapterPosition()方法:
注:
由于需要在Adapter里处理item的点击事件,所以获取Item位置有个方法:
getAdapterPosition()
但是由于RecyclerView的ViewHolder存在回收机制,所以item位置会不准确;
解决方法有:
a、标记不回收;
这样直接“阉割”了RecyclerView最大的特点, 十分不推荐
b、重写方法:
再正常用getAdapterPosition()就可以了
还有别的方法
原文链接: >
switch (action) {
case MotionEventACTION_DOWN:
DownX = eventgetX();//float DownX
DownY = eventgetY();//float DownY
currentMS = SystemcurrentTimeMillis();//long currentMS 获取系统时间
break;
case MotionEventACTION_MOVE:
float moveX = eventgetX() - DownX;//X轴距离
float moveY = eventgetY() - DownY;//y轴距离
long moveTime = SystemcurrentTimeMillis() - currentMS搜索;//移动时间
break;
case MotionEventACTION_UP:
break;
}
>
建议监听RecyclerView的addOnScrollListener后自己记录onScrolled的dy,同时给adapter加个registerAdapterDataObserver,监听插入/删除/移动,自己加减前面记录的dy滚动值。
以上就是关于Android中获取RecyclerView的position的位置的方法全部的内容,包括:Android中获取RecyclerView的position的位置的方法、RecyclerView 实现快速滚动、如何设置recyclerView显示滚动条等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)