RecyclerView因版本问题无法加载
前几天在学习RecyclerView时候,一直失败,各种加载不上。下面是错误信息
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
Process:examples.ouc.com.learnrv, PID: 3030
java.lang.NoSuchMethodError:No static method getDisplay(Landroid/view/View;)Landroid/view/Display; in classLandroid/support/v4/view/ViewCompat; or its super classes (declaration of'android.support.v4.view.ViewCompat' appears in/data/data/examples.ouc.com.learnrv/files/instant-run/dex/slice-com.android.support-support-v4-23.4.0_52b240d56765eb2183f5273fe09102c073fde4ef-classes.dex)
atandroid.support.v7.widget.RecyclerView.onAttachedToWindow(RecyclerView.java:2391)
atandroid.view.View.dispatchAttachedToWindow(View.java:14514)
atandroid.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2836)
atandroid.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2843)
atandroid.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2843)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2843)
atandroid.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2843)
atandroid.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2843)
atandroid.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1364)
atandroid.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107)
atandroid.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013)
atandroid.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
atandroid.view.Choreographer.doCallbacks(Choreographer.java:670)
atandroid.view.Choreographer.doFrame(Choreographer.java:606)
atandroid.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844)
atandroid.os.Handler.handleCallback(Handler.java:739)
atandroid.os.Handler.dispatchMessage(Handler.java:95)
atandroid.os.Looper.loop(Looper.java:148)
atandroid.app.ActivityThread.main(ActivityThread.java:5417)
atjava.lang.reflect.Method.invoke(Native Method)
atcom.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
atcom.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
先说一下我的步骤吧:
1,首先创建一个Activity,然后添加依赖库:
2,然后在代码中添加RecyclerView:
1 public class MainActivity extends AppCompatActivity { 2 3 private RecyclerView rv; 4 5 @Override 6 protected void onCreate(Bundle savedInstanceState) { 7 super.onCreate(savedInstanceState); 8 9 rv = new RecyclerView(this); 10 setContentView(rv); 11 12 //设置布局 13 rv.setLayoutManager(new LinearLayoutManager(this)); 14 //添加内容 15 rv.setAdapter(new RecyclerView.Adapter() { 16 class ViewHolder extends RecyclerView.ViewHolder{ 17 //绑定子对象的视图 18 private TextView tv; 19 20 public ViewHolder(TextView itemView) { 21 super(itemView); 22 tv=itemView; 23 } 24 25 public TextView getTv() { 26 return tv; 27 } 28 } 29 //创建holder 30 @Override 31 public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 32 return new ViewHolder(new TextView(parent.getContext())); 33 } 34 35 //对holder的textView进行操作 36 @Override 37 //第一个参数是我们绑定的holder 38 //第二个是一个索引,我们的当前初始化的数据是哪一条 39 public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { 40 41 //注意这里引入的ViewHolder类是我们上面创建的类,不要加错包 42 ViewHolder vh = (ViewHolder) holder; 43 vh.getTv().setText("Item "+ position); 44 } 45 46 //获取RecylerView子对象数量 47 @Override 48 public int getItemCount() { 49 return 10; 50 } 51 }); 52 } 53 }
MainActivity.java
3,如果我们现在加载进去,就会和上面报错一样~
而代码应该是没有问题的,我纠结了几天,然后在网上看了好多分析
最后,在下面这个地方,会发现:
大体意思就是说,SDK的版本有问题,就是说版本有问题?我就想怎么会有问题呢?
我们回头看第一个图,添加依赖库时候,我们添加的是v7:25.0.0 而appcompat的版本是v7:23.4.0,
RecylerView的版本比appcompat的版本高,是不支持的!
因此解决方法就很明显了:
将appcompat的版本调整到一样就好了,在添加依赖库的界面将appcompat删除掉,重新加一个高版本的。
这时候你会发现,其实添加的库里面并没有v7:23.4.0版本的,就很坑爹有没有。这时候在运行就没问题了~
转载于:https://www.cnblogs.com/icyhusky/p/6080927.html
RecyclerView因版本问题无法加载相关推荐
- 【Android 安全】DEX 加密 ( 不同 Android 版本的 DEX 加载 | Android 8.0 版本 DEX 加载分析 | Android 5.0 版本 DEX 加载分析 )
文章目录 一.不同版本的 DEX 加载 1.Android 8.0 版本 DEX 加载分析 2.Android 6.0 版本 DEX 加载分析 3.Android 5.0 版本 DEX 加载分析 一. ...
- RecyclerView使用 及 滑动时加载图片优化方案
RecyclerView使用 及 滑动时加载图片优化方案 简述 本篇博文主要给大家分享关于RecyclerView控件的使用及通过继承RecyclerView来实现滑动时加载图片的优化方案,也同样能解 ...
- Recyclerview删除数据后无法加载下一页数据(或者是漏了一条数据)
使用场景:项目中用到了"订单列表"界面,会有个删除订单的功能,点击删除之后,之前一页的10个数据会变成9个,然后加载更多就触发不了(也可能会少一条数据) 分析:触发不了是我的rec ...
- RecyclerView滑动到底部自动加载
你经常听到"上拉加载"这样的字眼吗?你知道这个功能是怎么实现的吗?这篇文章记录了我对"上拉加载"的实现,与大家一起分享. "上拉加载"针对的 ...
- Android RecyclerView设置分割线 / 下拉加载 / 选项菜单进行增加删除动画
首先看一下我的整个程序: 主类: package com.example.day02rk;import android.os.Bundle; import android.support.v4.con ...
- Android RecyclerView使用 及 滑动时加载图片优化方案
1.控制线程数量 + 数据分页加载2.重写onScrollStateChanged方法 这个我们后面再谈,下面先来看看RecyclerView控件的使用及我们为什么选择使用它 RecyclerView ...
- android x fragment,Androidx-fragment1.1.0版本实现懒加载
释放双眼,带上耳机,听听看~! 升级为Androidx后,fragment在1.1.0发生一些变化 setUserVisibleHint方法给标注为Deprecated提示用setMaxLifecyc ...
- org.springframework.boot:spring-boot-starter-velocity:unknown以及其他依赖因spring版本不同无法加载
1.问题原因 不同spring版本,包含依赖不同,不指定版本信息相关依赖父类无法指定 2.解决方式 举例如下, 如图,如果2.3.1版本没有velocity而1.3.6版本有,那么在velocity依 ...
- RecyclerView使用 及 滑动时加载图片优化方案,android应用程序开发语言
// Provide a reference to the type of views that you are using (custom viewholder) //自定义的ViewHolder, ...
最新文章
- pandas使用insert函数将dataframe特定数据列移动到第一列实战:Move a Column to First Position
- zabbix mysql 表空间_Zabbix监控达梦数据库表空间
- Linux下源码编译安装Python3
- linux memalign、valloc函数
- Access数据库访问助手类
- 计算机科学与技术及应用,计算机科学与技术的应用及发展趋向
- python读取word element_Python:通过解析word将文本从docx提取到txt/文档.xm
- python—json模块的编码与解码
- 《pro Spring》学习笔记之Spring HTTP 远程方法调用
- 【180620】小人物走路、奔跑的VC++游戏特效
- IP地址如何分的五类
- 大数据:增量采集、处理、导出
- 非主流闪图头像教程:动感头像效果
- 【HDOJ】6441--Find Integer
- 区块链学习入门简介(一)
- Hive hql 经典5道面试题
- 手把手教你封杀恶意登录服务器的ip
- c语言 x*,关于c语言%#X意思大全
- 26个英文字母对应数字的奇妙意义
- 哈佛大学凌晨四点半的景象