今天发现原来的项目中一个Recyclerview,本来是自适应item宽高的,现在却占满屏幕,多次调试布局无果,之后查找发现,Recyclerview在后来的版本中有升级,源代码中已经做了自适应处理了,而我引入的Recyclerview库版本依然是23.0.1的,于是进行升级
我app的gradle里的版本设置是提出来到外面的根gradle下的,这是它们的设置
ext{
compileSdkVersion = 23
buildToolsVersion = "25.0.2"
support_library_version = "23.2.1"
}
网上有人说只要升级到23.2.1以上就行,那很简单 support_library_version改成23.2.1就好了
呵呵,改完运行报错
Error inflating class android.support.design.widget.CollapsingToolbarLayout
Caused by: android.view.InflateException: Binary XML file line #73: Error inflating class android.support.design.widget.CollapsingToolbarLayout
Caused by: java.lang.reflect.InvocationTargetException
........
........
Caused by: java.lang.NoSuchMethodError: No static method setLayoutDirection(Landroid/graphics/drawable/Drawable;I)V in class Landroid/support/v4/graphics/drawable/DrawableCompat; or its super classes (declaration of 'android.support.v4.graphics.drawable.DrawableCompat' appears in /data/app/com.miuhouse.yourcompany.daycare-2/split_lib_dependencies_apk.apk:classes5.dex)
网上似乎没有详细解释,但看上去应该还是版本的问题
stackoverflow中有回答建议加上这句话
compile (‘com.android.support:support-v4:23.4.0‘){ force = true; }
要是有什么卵用的话也没什么好说的了
java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/os/BuildCompat;
............
............
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.os.BuildCompat" on path: DexPathList.................
找不到类 这就错得更离谱了,查了半天原因查不到,最后一怒之下,support_library_version直接改成25
特么就好了,Recyclerview也自适应了,摔
在项目中遇到RecyclerView不再自适应Item宽高,原来是由于Recyclerview库版本过低。升级到25版本后解决了问题,但在升级过程中遇到了因版本不匹配导致的多个错误,包括Error inflating class、NoSuchMethodError等。通过逐步排查和版本调整,最终成功解决问题。
5279

被折叠的 条评论
为什么被折叠?



