前几天在学习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:

 public class MainActivity extends AppCompatActivity {

     private RecyclerView rv;

     @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); rv = new RecyclerView(this);
setContentView(rv); //设置布局
rv.setLayoutManager(new LinearLayoutManager(this));
//添加内容
rv.setAdapter(new RecyclerView.Adapter() {
class ViewHolder extends RecyclerView.ViewHolder{
//绑定子对象的视图
private TextView tv; public ViewHolder(TextView itemView) {
super(itemView);
tv=itemView;
} public TextView getTv() {
return tv;
}
}
//创建holder
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
return new ViewHolder(new TextView(parent.getContext()));
} //对holder的textView进行操作
@Override
//第一个参数是我们绑定的holder
//第二个是一个索引,我们的当前初始化的数据是哪一条
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { //注意这里引入的ViewHolder类是我们上面创建的类,不要加错包
ViewHolder vh = (ViewHolder) holder;
vh.getTv().setText("Item "+ position);
} //获取RecylerView子对象数量
@Override
public int getItemCount() {
return 10;
}
});
}
}

MainActivity.java

3,如果我们现在加载进去,就会和上面报错一样~

  而代码应该是没有问题的,我纠结了几天,然后在网上看了好多分析

  最后,在下面这个地方,会发现:

大体意思就是说,SDK的版本有问题,就是说版本有问题?我就想怎么会有问题呢?

我们回头看第一个图,添加依赖库时候,我们添加的是v7:25.0.0    而appcompat的版本是v7:23.4.0,

RecylerView的版本比appcompat的版本高,是不支持的!

因此解决方法就很明显了:

将appcompat的版本调整到一样就好了,在添加依赖库的界面将appcompat删除掉,重新加一个高版本的。

这时候你会发现,其实添加的库里面并没有v7:23.4.0版本的,就很坑爹有没有。这时候在运行就没问题了~

RecyclerView因版本问题无法加载的更多相关文章

  1. 使用Windows安装的最高版本IE内核加载内嵌页(转载)

    客户端程序内嵌Webbrowser控件时,默认情况都是使用IE7兼容模式打开网页的.但是IE7有很多新的特性不支持,导致无法正常显示出来,所以需要强制使用高版本的IE内核来加载.渲染. void Ch ...

  2. CAD2014以上版本不信任加载项解决方法

    前一段时间做CAD插件支持版本升级遇到了一个很棘手的问题,CAD2014以上版本增加了受信任功能,每次用程序启动CAD并加载arx文件时都弹出对话框询问是否加载 我的解决方法如下:(仅供参考) 读取注 ...

  3. Android RecyclerView使用 及 滑动时加载图片优化方案

    1.控制线程数量 + 数据分页加载2.重写onScrollStateChanged方法 这个我们后面再谈,下面先来看看RecyclerView控件的使用及我们为什么选择使用它 RecyclerView ...

  4. 解决Logger在Android Studio 3.1版本无法正常加载tag格式

    已经升级到Android Studio 3.1的同学可能会发现一个问题, Logcat中如果短时间出现多条日志tag相同, 只会显示第一条日志的tag, 后面的tag会自动隐藏, 这时com.orha ...

  5. thrift的php-v0.12版本类自动加载失败

    参考网上教程,使用$loader->registerDefinition('Sample', $GEN_DIR); 但是会报PHP Fatal error:  Uncaught Error: C ...

  6. 带你实现开发者头条APP(五)--RecyclerView下拉刷新上拉加载

    title: 带你实现开发者头条APP(五)--RecyclerView下拉刷新上拉加载 tags: -RecyclerView,下拉刷新,上拉加载更多 grammar_cjkRuby: true - ...

  7. RecyclerView 下拉刷新上拉加载

    步骤: 首先直接定义一个XRecyclerView继承RecyclerView,重写他的三个构造方法. init(Context mContext)方法用来初始化底部加载的view 回到XRecycl ...

  8. RecyclerViewLoadMoreDemo【封装上拉加载功能的RecyclerView,搭配SwipeRefreshLayout实现下拉刷新】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 封装含有上拉加载功能的RecyclerView,然后搭配SwipeRefreshLayout实现下拉刷新.上拉加载功能. 在项目中将 ...

  9. js动态加载activeX控件在IE11与低版本IE中的差异

    由于IE11更加遵循W3C规范,所以IE11与低版本IE在加载activeX时有差别. 1.IE11中动态加载activeX的顺序 var objectTag = document.createEle ...

随机推荐

  1. laravel 安装完成后安装 vendor 目录

    composer  install 就是将composer.js 中的配置下载安装 生成vendor目录

  2. 前端MV*框架的意义

    经常有人质疑,在前端搞MV*有什么意义?也有人提出这样的疑问:以AngularJS,Knockout,BackBone为代表的MV*框架,它跟jQuery这样的框架有什么区别?我jQuery用得好好的 ...

  3. 【APP自动化测试】Monkey的测试原理和方法

    参考资料:http://blog.csdn.net/io_field/article/details/52189972 一.Monkey测试原理:Monkey是Android中的一个命令行工具,可以运 ...

  4. linux的帮助信息获取以及man章节的划分

    linux的帮助信息获取以及man章节的划分 linux 帮助 man 章节 linux 获取帮助的途径 (1)help (2)man (3)info command在线获取 (4)程序自带帮助文档 ...

  5. PHP PDO函数库详解

    PDO是一个“数据库访问抽象层”,作用是统一各种数据库的访问接口,与mysql和mysqli的函数库相比,PDO让跨数据库的使用更具有亲和力:与ADODB和MDB2相比,PDO更高效.目前而言,实现“ ...

  6. autoloader

    自动加载 $loader = new Zend_Application_Module_Autoloader(array(     'namespace' => 'Blog',     'base ...

  7. Centos 6.5 把自带python 2.6.6, 升级到 2.7

    http://blog.csdn.net/jcjc918/article/details/11022345

  8. JQmeter显示进度条

    <script type="text/javascript"> $(function(){ var percent = "${evICVDBean.resul ...

  9. JVM 平台上的各种语言的开发指南

    JVM 平台上的各种语言的开发指南 为什么我们需要如此多的JVM语言? 在2013年你可以有50中JVM语言的选择来用于你的下一个项目.尽管你可以说出一大打的名字,你会准备为你的下一个项目选择一种新的 ...

  10. scala 打印一个乘法口诀表 (<<scala 编程>> P87)

    (for(i <- 1 to 9;j <- 1 to i; s = s"$j*$i=${i*j}\t") yield {if(j==1) s"$s\n&quo ...