前几天在学习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. Android NDK 初探,生成so文件以及调用so文件方法

    因为最近业务上涉及安全的问题 然后有一些加密解密的方法和key的存储问题 本来想存储到手机里面,但是网上说一般敏感信息不要存储到手机Sdcard上 而且我这个如果从网络建立通信获取的话,又太耗时,所以 ...

  2. 3个sprint的团队贡献分

    第一次冲刺贡献分   成员名字 贡献分 101丘娟 23 108周诗琦 26 107杨晓霞 24 124陈程 27     第二次冲刺贡献分   成员名字 贡献分 101丘娟 23 108周诗琦 27 ...

  3. 即时聊天IM之三 XMPP协议客户端库的和Android端框架概述

    合肥程序员群:49313181.    合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入) Q  Q:408365330     E-Mail:egojit@qq.com smack ...

  4. 点开看看please

  5. Webstorm 下的Angular2.0开发之路

    人一旦上了年纪,记忆力就变得越来越不好. 最近写了许多的博文,倒不是为了给谁看,而是方便自己来搜索,不然一下子又忘记了. 如果恰巧帮助到了你,也是我的荣幸~~~~~~~~~~~~ 废话不多说,看正题~ ...

  6. SQL 子查询,连接查询复习

    use lianxi0720 go --创建部门表 create table bumen ( bcode int primary key,--部门编号 bname ), --部门名称 bceo ), ...

  7. js 判断是什么类型浏览器

    //  firefoxif ( window.sidebar && "object" == typeof( window.sidebar ) && ...

  8. action和servlet的关系

      在struts2.0中,可以通过ServletActionContext.getRequest()获取request对象. 在action的方法中return一个字符串,该字符串对应struts. ...

  9. Labview调用Python脚本

    Labview程序框图如下: Python脚本如下: #!/usr/bin/env pythonimport sys #Command Line Arguements are stored in li ...

  10. kudu playground

    建表: CREATE TABLE my_first_table ( id BIGINT, name STRING ) TBLPROPERTIES( 'storage_handler' = 'com.c ...