Android ViewBinding Error: Cannot access class 'android.widget.no_name_in_PSI_3d19d79d_1ba9_4cd0_b7f5_b46aa3cd5d40'
Android ViewBinding Error: Cannot access class 'android.widget.no_name_in_PSI_3d19d79d_1ba9_4cd0_b7f5_b46aa3cd5d40'
我尝试在我的 Android 项目中使用 ViewBinding,因为 Kotlin 合成器已被弃用。我遵循了 Android 开发者网站的官方文档。在我的 build.gradle.kts 中,我启用了 ViewBinding:
android {
...
buildFeatures {
viewBinding = true
}
}
我试着在 Fragment 中使用它,例如:
private var _binding: FragmentStartBinding? = null
private val binding get() = _binding!!
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
_binding = FragmentStartBinding.inflate(inflater, container, false)
return binding.root
}
但是binding.root
显示错误:Cannot access class 'android.widget.no_name_in_PSI_3d19d79d_1ba9_4cd0_b7f5_b46aa3cd5d40'. Check your module classpath for missing or conflicting dependencies
.
Android工作室版本:4.1.2
科特林版本:1.4.30
Android Gradle 插件版本:4.1.2
Gradle版本:6.8.1
我已经尝试过清理和重建、使缓存无效和重新启动、删除 .idea 和 .gradle 文件夹。也生成了ViewBinding文件,但是无法使用ViewBinding。
有人有解决这个问题的办法吗?
提前感谢您的回复。
从布局 xml 文件中删除版权注释后错误消失。然后我就可以使用 Viewbinding 了。我希望,它会尽快修复,这样布局文件中的任何类型的评论都不会成为 Viewbinding 的问题。
所以我的 xml 文件的顶部如下所示:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/constraint_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
更新:
我更改了版权,将“&”替换为“and”。这也适用于我。
我收到此错误是因为我试图在仅启用 viewBinding
的情况下使用 dataBinding
,因此在 app/build.gradle
上启用 dataBinding
解决了我的问题。
启用:
android {
...
buildFeatures {
viewBinding true
dataBinding true
}
...
}
我尝试在我的 Android 项目中使用 ViewBinding,因为 Kotlin 合成器已被弃用。我遵循了 Android 开发者网站的官方文档。在我的 build.gradle.kts 中,我启用了 ViewBinding:
android {
...
buildFeatures {
viewBinding = true
}
}
我试着在 Fragment 中使用它,例如:
private var _binding: FragmentStartBinding? = null
private val binding get() = _binding!!
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
_binding = FragmentStartBinding.inflate(inflater, container, false)
return binding.root
}
但是binding.root
显示错误:Cannot access class 'android.widget.no_name_in_PSI_3d19d79d_1ba9_4cd0_b7f5_b46aa3cd5d40'. Check your module classpath for missing or conflicting dependencies
.
Android工作室版本:4.1.2
科特林版本:1.4.30
Android Gradle 插件版本:4.1.2
Gradle版本:6.8.1
我已经尝试过清理和重建、使缓存无效和重新启动、删除 .idea 和 .gradle 文件夹。也生成了ViewBinding文件,但是无法使用ViewBinding。
有人有解决这个问题的办法吗?
提前感谢您的回复。
从布局 xml 文件中删除版权注释后错误消失。然后我就可以使用 Viewbinding 了。我希望,它会尽快修复,这样布局文件中的任何类型的评论都不会成为 Viewbinding 的问题。
所以我的 xml 文件的顶部如下所示:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/constraint_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
更新:
我更改了版权,将“&”替换为“and”。这也适用于我。
我收到此错误是因为我试图在仅启用 viewBinding
的情况下使用 dataBinding
,因此在 app/build.gradle
上启用 dataBinding
解决了我的问题。
启用:
android {
...
buildFeatures {
viewBinding true
dataBinding true
}
...
}