【问题标题】:RecyclerView ItemDecoration broken with AndroidXRecyclerView ItemDecoration 被 AndroidX 破坏
【发布时间】:2019-03-01 23:32:15
【问题描述】:

在我们正在更新以使用 AndroidX 库的现有项目中使用 DividerItemDecorationRecyclerView 时,我遇到了编译器问题。

不幸的是,该项目使用了 DataBinding,这可能是问题的一部分。我们有一些像这样丑陋的代码:

getBinding().myRecyclerField.addItemDecoration(new DividerItemDecoration(...));

这告诉我

AS 自动为该类添加 AndroidX 导入,而 android.support.v7.widget.DividerItemDecoration 似乎不再可用。

ItemDecorations 现在应该如何与 RecyclerViews 一起使用?

我们是否需要手动替换每个布局中的 RecyclerView 标签? (其他视图(例如工具栏)不需要这样做

【问题讨论】:

  • 你已经迁移了项目,你在迁移后清理了项目吗?
  • 是的,在我修复之前的问题时,它已经经历了几个清理 + 无效缓存的循环
  • 迁移后是否所有布局xml都有support.v7.widget.recyclerview

标签: android android-recyclerview androidx android-jetifier


【解决方案1】:

最终要解决这个问题,我确实必须用 androidx.recyclerview 包替换 RecyclerView 的所有用法,并确保我的 gradle 属性中有 android.enableJetifier=trueandroid.useAndroidX=true 以使库兼容

支持/默认 RecyclerView 和 AndroidX RecyclerView 组件不能混用

【讨论】:

    【解决方案2】:

    始终使用Refractor > Migrate to AndroidX,这将转换所有导入,自动使用。

    它也会添加android.enableJetifier=trueandroid.useAndroidX=true

    Useful Post

    【讨论】:

      猜你喜欢
      • 2018-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-21
      • 2012-09-02
      • 2018-10-07
      • 2011-01-02
      相关资源
      最近更新 更多