前几天在学习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版本的,就很坑爹有没有。这时候在运行就没问题了~

最新文章

  1. mysql中文乱码问题解决
  2. Undefined symbols for architecture x86_64: ( linker command failed with exit code 1)
  3. 基于XMPP协议的Android即时通信系
  4. 不使用ajax,无刷新提交表单
  5. acdream.Triangles(数学推导)
  6. JavaScript之充实文档的内容
  7. SecureCRT使用Vim出现中文乱码问题的解决
  8. ASP.NET Core 认证与授权[6]:授权策略是怎么执行的?
  9. C++ STL常用容器基本用法汇总
  10. SQL备份所有数据库脚本
  11. Oracle使用PLSQL导入数据后中文乱码的解决方法
  12. IDEA用maven创建springMVC项目和配置(XML配置和Java配置)
  13. Android -- 带你从源码角度领悟Dagger2入门到放弃(一)
  14. Js/使用js来改变图片的url
  15. cobbler学习
  16. AC自动机(Keywords Search)
  17. python 获取有关访问者的浏览器的 细节
  18. ip白名单 通过* ? 检测IP匹配 轻量级
  19. 用Visual Studio 2010开发Android应用
  20. Effective Java-第4章

热门文章

  1. ApplicationContextAware 接口
  2. Centos7下配置Redis开机自启动
  3. [Linux] 常用Linux命令
  4. 移动端设置字体px转换rem的脚本
  5. XSS 初识
  6. 为了防止采集,把文章中出现的URL链接随机大小写(PHP实现)
  7. Phalapi 中Union和Union All的用法
  8. Spring Bean
  9. 使用Autolayout对多行文本Label进行布局,高度不准确的解决办法!
  10. innodb log file size 配置估算以及修改