【问题标题】:Android ViewBinding error in the inflate-method - missing or conflicting dependenciesinflate-method 中的 Android ViewBinding 错误 - 依赖项缺失或冲突
【发布时间】:2021-01-29 15:39:13
【问题描述】:

从项目中删除现有的DataBinding 后,我还想摆脱kotlinx.android.synthetic 并用ViewBinding 替换它。

但是,在我的项目中启用ViewBinding 后,我仍然无法进行正确的设置。

尝试将ViewBinding 调用到我的MainActivity 或我的一个片段中,我在inflate 方法中收到以下错误:

Cannot access 'no_name_in_PSI_...' which is a supertype of 'com.example.projectname.databinding.ActivityMainBinding'. Check your module classpath for missing or conflicting dependencies

例如:

MainActivity.kt

class MainActivity : BaseActivity<SharedViewModel>() {
      private lateinit var binding: ActivityMainBinding
      ...
      override fun onCreate(savedInstanceState: Bundle?) {
        setTheme(R.style.AppTheme)
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)
      }
}

我的build.gradle (:app) 设置正确:

build.gradle (:app)

android {
  ...
  buildFeatures {
        viewBinding true
    }
}

我在我的另一个项目中使用了ViewBinding,它开箱即用。请帮忙。非常感谢。

【问题讨论】:

  • 你的activity_main.xml 文件的根标签中是否有这个tools:viewBindingIgnore="true"
  • @JeelVankhede 非常感谢您的快速回复。我已将此标签添加到 activity_main.xml 文件中。错误消失了,但在我实际需要使用ViewBinding 的片段中,我仍然面临同样的问题。
  • 这很奇怪,因为这个标签基本上告诉视图绑定扩展是否为特定文件生成绑定。可能是清洁重建项目有帮助..
  • 我已经清理、重建、使缓存失效、重新启动、删除了 idea 文件夹,几乎做了所有事情,但仍然无法正常工作。
  • 几天前我遇到了同样的问题,尝试使用 DataBindingUtil 类来进行通货膨胀,这对我有用。

标签: android kotlin android-viewbinding


【解决方案1】:

我昨天也遇到了同样的问题。只有 android studio 到版本的新更新对我有用。

【讨论】:

    【解决方案2】:

    尝试删除 .idea 文件夹

    • 第 1 步 - 删除 .Idea 文件夹
    • 第 2 步 - 关闭 android studio
    • 第 3 步- 使用相同的项目路径重新打开 android studio(这将生成新的 .Idea 文件夹)

    https://stackoverflow.com/a/71036526/4741746

    【讨论】:

      【解决方案3】:

      我有同样的错误。我在我的 xml 文件中添加了布局标签,这是不正确的。布局标签用于数据绑定,但这里我们只启用视图绑定功能。这就是您收到该错误的原因。只需删除布局标签。 编辑-我正在详细说明这个答案,因为它不清楚。 从您的 XML 文件中删除标记。 原因 - 如 android 数据绑定文档中所述,在启用“dataBinding”时使用。但是在这里您启用了不应在 XML 文件中使用的“viewBinding”。

      【讨论】:

      • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
      猜你喜欢
      • 2018-03-09
      • 1970-01-01
      • 1970-01-01
      • 2016-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-18
      相关资源
      最近更新 更多