RecyclerView跳转到指定位置的两种方式
来源:互联网 发布:php开发好学吗 编辑:程序博客网 时间:2024/05/16 07:48
自从android5.0推出RecyclerView以后,RecyclerView越来越受广大程序员的热爱了!大家都知道RecyclerView的出现目的是为了替代listview和ScrollView在列表方面的使用!那么listview和ScrollView的所有功能和方法都应该有的!
但是RecyclerView的很多方法,不是封装在RecyclerView中的,当我们在RecyclerView中找不到对应的方法时,就应该想到他的管理类manager了!
大多方法都封装在此啊!
最近有个同学用到了RecyclerView跳转到指定位置的需求,其实很简单,在这里我就给出我的做法,有指教的和改进的欢迎提出,需要用的就用,勿喷哈…..
方法一,直接使用当前的manager
/** * RecyclerView 移动到当前位置, * * @param manager 设置RecyclerView对应的manager * @param n 要跳转的位置 */ public static void MoveToPosition(LinearLayoutManager manager, int n) { manager.scrollToPositionWithOffset(n, 0); manager.setStackFromEnd(true); }
方法二、根据当前RecyclerView的条目数量,这个相对复杂一些,但是可以有效地避免指针越界呦..
/** * RecyclerView 移动到当前位置, * * @param manager 设置RecyclerView对应的manager * @param mRecyclerView 当前的RecyclerView * @param n 要跳转的位置 */public static void MoveToPosition(LinearLayoutManager manager, RecyclerView mRecyclerView, int n) { int firstItem = manager.findFirstVisibleItemPosition(); int lastItem = manager.findLastVisibleItemPosition(); if (n <= firstItem) { mRecyclerView.scrollToPosition(n); } else if (n <= lastItem) { int top = mRecyclerView.getChildAt(n - firstItem).getTop(); mRecyclerView.scrollBy(0, top); } else { mRecyclerView.scrollToPosition(n); }}
好了这样就可以了,不信你试试…….
4 0
- RecyclerView跳转到指定位置的两种方式
- RecyclerView跳转到指定位置的两种方式
- Android RecyclerView:设置指定位置的两种方法
- RecyclerView滑动到指定位置的接口
- RecyclerView的滑动到指定位置
- 跳转到指定位置
- 跳转到指定位置
- RecyclerView跳转到其他位置
- 跳转到网页的指定位置
- RecyclerView滑动到指定位置
- RecyclerView滚动到指定位置
- RecyclerView 滑动到指定位置
- RecyclerView滑动到指定位置
- RecyclerView定位到指定位置
- RecyclerView滚动到指定位置
- recyclerview,滚到指定位置
- 跳转到页面的指定位置, 锚点平滑跳转
- 点击跳转到指定位置
- JavaScript中prototype用法
- mysql主从复制
- plupload如何限制上传文件数量,限制只能上传单个文件
- Java设计模式----策略模式
- 内联汇编--引用源码中定义的数组
- RecyclerView跳转到指定位置的两种方式
- Android 输入框中原意字符串,十六进制字符串与字节数组
- java枚举类型
- Spark系列修炼---入门笔记24
- hadoop配置文件hdfs-site.xml
- 计算字符串的宽度与高度
- xilinx开发时遇到的烧写与下载可执行文件出现的效果不一致的解决办法
- ScrollView+LinearLayout 仿Listview 效果
- mysql常用指令