RecyclerView的各种版本兼容问题处理集锦
来源:互联网 发布:人体测量尺寸数据 编辑:程序博客网 时间:2024/05/18 20:09
RecyclerView固然功能强大,然而使用过程中时常发生各种兼容性问题,,兹记录处理办法如下,方便大家查阅:
2、在23.2.0之前的版本上,RecyclerView会默认充满整个屏幕下方,即使在布局文件中将其高度设置为wrap_content,循环视图依旧霸气地填充到屏幕底部,导致在它后面的其它视图都显示不了了。该问题已明确是RecyclerView兼容包的bug,Android官方在23.2.0及其之后的版本已经修复了,所以如果代码中有用到RecyclerView,需确保build.gradle中的recyclerview-v7版本不低于23.2.0。
3、当循环视图的列表项已经占满整个屏幕,此时再往顶部添加一条新记录,感觉屏幕没有发生变化,也没看到插入动画。实际上视图顶部确实有添加新记录,把列表项往下拉就能看到,只是循环视图不会自动进行下拉。要解决这个问题,得在notifyItemInserted方法调用之后,再调用循环视图对象的scrollToPosition(0)方法,表示滚动到第一条记录。
4、Android5.0之后如果使用ScrollView嵌套RecyclerView,那么RecyclerView将只显示第一行,后面部分要滑动才会出现,但此时滑动的只有RecyclerView部分而不是整个ScrollView。解决办法是在RecyclerView外面嵌套一层RelativeLayout,即:
1、若在ADT中调用RecyclerView,可能app运行时会报错“Caused by: java.lang.NoClassDefFoundError: android.support.v7.recyclerview.R$styleable”,这时就不能使用sdk\extras\android\support\v7\recyclerview下面的jar包,而要到extras/android/m2repository/com/android/support/recyclerview-v7目录下,在版本号21.0.0的子目录中找到recyclerview-v7-21.0.0.aar,该aar文件其实是个压缩文件,解压该文件可得到classes.jar,将该jar包更名并加入到你的工程,上面的运行错误应该就没有了。另外一个办法是把sdk\extras\android\support\v7\recyclerview整个目录做为库工程,然后目标工程再引用该库工程。
2、在23.2.0之前的版本上,RecyclerView会默认充满整个屏幕下方,即使在布局文件中将其高度设置为wrap_content,循环视图依旧霸气地填充到屏幕底部,导致在它后面的其它视图都显示不了了。该问题已明确是RecyclerView兼容包的bug,Android官方在23.2.0及其之后的版本已经修复了,所以如果代码中有用到RecyclerView,需确保build.gradle中的recyclerview-v7版本不低于23.2.0。
3、当循环视图的列表项已经占满整个屏幕,此时再往顶部添加一条新记录,感觉屏幕没有发生变化,也没看到插入动画。实际上视图顶部确实有添加新记录,把列表项往下拉就能看到,只是循环视图不会自动进行下拉。要解决这个问题,得在notifyItemInserted方法调用之后,再调用循环视图对象的scrollToPosition(0)方法,表示滚动到第一条记录。
4、Android5.0之后如果使用ScrollView嵌套RecyclerView,那么RecyclerView将只显示第一行,后面部分要滑动才会出现,但此时滑动的只有RecyclerView部分而不是整个ScrollView。解决办法是在RecyclerView外面嵌套一层RelativeLayout,即:
<RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:descendantFocusability="blocksDescendants"> <!--中间补充RecyclerView--> </RelativeLayout>
0 0
- RecyclerView的各种版本兼容问题处理集锦
- RecyclerView SDK25的各种兼容问题
- Android 版本兼容问题集锦
- RecyclerView使用时版本不兼容问题解决
- 关于打包jre版本不兼容问题的处理
- RecyclerView的各种使用
- 谈谈CSS浏览器的兼容问题。集锦
- 关于jdk的版本兼容问题
- Spring+Quartz的版本兼容问题
- H5开发的版本兼容问题
- 页面兼容问题的处理方法
- 页面兼容问题的处理方法
- web开发中的各种浏览器的兼容问题
- Python各种包的集锦
- css兼容问题集锦
- jQuery的$.browser的版本兼容问题
- 关于java class 版本的兼容问题
- 解决多版本SDk的兼容问题
- 0104 wrrkmigua ListPopupWindow的使用
- 隐私政策
- 2017.1.4 jQuery中的data()方法和each()方法
- Keil 汉字显示不正常,删除时要删两下
- 每天一个linux命令(3):pwd命令
- RecyclerView的各种版本兼容问题处理集锦
- 人生第一篇博客
- 光流定点程序梳理
- 用NGUI实现刮刮乐的效果
- 日请求过亿的Web系统PHP7升级实践
- X11算法 VS Scrypt算法
- 101. Symmetric Tree
- jquery+ajax使用
- 1085. Perfect Sequence