解决找不到 android.support.v7(v4).XXX 问题

对于类似以下错误

Error inflating class android.support.v7.widget.RecyclerView
Didn’t find class “android.support.v7.widget.RecyclerView”

Error inflating class android.support.v7.widget.Toolbar
Didn’t find class “android.support.v7.widget.Toolbar”

Error inflating class android.support.v7.widget.appcompat
Didn’t find class “android.support.v7.widget.appcompat”

很有可能是因为android.support的v4、v7版本混乱冲突导致的

网上其他解决办法都导向统一版本号、清除缓存重新加载等方式,这里提供一种最新方法:改用androidx


AndroidX与support包的关系

androidx 是对 android.support.xxx 包的整理后产物。由于之前的support包过于混乱,所以,google推出了 androidX。

新的Android扩展库(AndroidX)取代了使用七年之久的Android支持库,旨在简化相关工作,并为该库未来的发展打下坚实的基础。
Android支持库允许开发人员在旧版本的Android上支持新的OS特性,或者回退到等效的功能,是一种可以部分地减轻Android生态系统碎片化的有效方式。按照谷歌的说法:

然而,在其自然发展的过程中,出现了多个让许多开发人员为之困惑的选项。其中一个例子是存在以“v7”命名的组件和包,这是该库需要的原始Android SDK级别,目前需要的最小版本是14(Android 4.0)。

自2018年5月Androidx发布少量组件不够稳定的alpha测试版一年后,已经完成多个组件的稳定版并持续更新中
更多信息可参考Androidx官方文档


Androidx使用方式

在build.gradle中用

implementation 'androidx.xxx(组件名):xxx(组件名):1.0.0(版本号)'

  
  
  • 1

替换

implementation 'com.android.support.v7.widget.xxx(组件名):x.x.x(版本号)'

  
  
  • 1

并在xml文件中用

<androidx.xxx.widget.xxx(驼峰)
        ...>
</androidx.xxx.widget.xxx(驼峰)>

  
  
  • 1
  • 2
  • 3

替换对应组件标签

<android.support.v7.widget.xxx
        ...>
</android.support.v7.widget.xxx>

  
  
  • 1
  • 2
  • 3

例:recyclerView

在build.gradle中用

implementation 'androidx.recyclerview:recyclerview:1.0.0'

  
  
  • 1

替换

implementation 'com.android.support:recyclerview-v7:x.x.x'

  
  
  • 1

并在xml文件中用

<androidx.recyclerview.widget.RecyclerView
        ...>
</androidx.recyclerview.widget.RecyclerView>

  
  
  • 1
  • 2
  • 3

替换对应组件标签

<android.support.v7.widget.RecyclerView
        ...>
</android.support.v7.widget.RecyclerView>

  
  
  • 1
  • 2
  • 3

由于Androidx中是对于support包的整合升级,可能还需要修改组件相应代码,如recyclerView组件中,若使用还需要在Activity/fragment的代码中修改

manager.setOrientation(LinearLayoutManager.VERTICAL);

  
  
  • 1

的参数 LinearLayoutManager.VERTICALRecyclerView.VERTICAL


其他不同组件版本号及命名方式可能各不相同,具体可参考Androidx官方文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值