前几天在学习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. http响应需要记住的状态码

    200:请求成功. 301:被请求的资源已永久移动到新位置.302:请求的资源现在临时从不同的 URI 响应请求.401:当前请求需要用户验证.403:服务器已经理解请求,但是拒绝执行它. 404:请 ...

  2. iOS 动画组

    其实早在一个多月以前就已经实现了动作组播放的功能,不过当时感觉好像没有什么难度并没有放在心上,今天突然要用到动画组,发现已经忘记了,所以又将原来的代码翻出来看了下.最后决定还是写下来,以备不时之需.动 ...

  3. JAVA开发错误总结(仅记录遇到的错误---后续不断更新......)

    =======华丽分割线(工具总结)===================== 1:Maven项目中junit测试找不到主类的问题 Class not found com.test.utils.tes ...

  4. js页面跳转(含框架跳转)整理

    js方式的页面跳转1.window.location.href方式    <script language="javascript" type="text/java ...

  5. JAVA 多线程随笔 (二) sleep, yield, join, wait 和notify

    这里先说明一下锁对象,如果一个类比如Person里的方法都有synchronized来修饰,那么每一个方法的锁对象就是Person的一个实例person. 锁对象也可以针对某个特定的实例, 比如syn ...

  6. java selenium (三) 环境搭建 基于Maven

    现在Java的大部分项目都是基于Maven,  在Maven项目中使用Selenium2. 非常简单. 首先你需要配置好Maven的环境 可以参考本博客的Maven教程系列,Maven入门教程(一) ...

  7. windbg无法下载符号文件

    symbol file path: srv*d:\symbolslocal*http://msdl.microsoft.com/download/symbols 即使设置是对的,但我用.reload, ...

  8. 一个crackme的分析

    是看雪合集的一个,因为老师让我们多练习,所以我就找了个crackme来练习 http://images2015.cnblogs.com/blog/638600/201612/638600-201612 ...

  9. 总结四条对学习Linux系统有帮助的方法

    网络是一个很神奇的东西,现代人的生活离不开网络,网络已深入人们的工作,生活,娱乐等方方面面.网络之所以无处不在,是因为它提供了诸多的网络服务,所以网络服务是网络的灵魂. 互联网上的各种网络服务是架构在 ...

  10. win764位下安装mysql-5.6.22-x64启动服务报 系统错误 1067的解决办法

    本人电脑win7,64位,需要安装mysql服务器.版本:mysql-5.6.22-x64.安装完成后,在服务里面并没有mysql.于是在百度上搜了下,好多信息,最后把解决方法自己总结下. 在${pr ...