【发布时间】:2018-11-24 17:44:48
【问题描述】:
我之前在我的项目中更改了一些代码,现在在编译以下自动生成的类时出现以下错误:
DataBinderMapperImpl.java:找不到符号“AdvancedBoxBindingImpl”(在'import ...databinding.AdvancedBoxBindingImpl;'行)
AdvancedBox 包含在 fragment_config.xml 布局中,如下所示:
<layout xmlns:bind="http://schemas.android.com/tools">
<data>
<import type="android.view.View"/>
<variable name="viewModel" type ="...GlobalConfigViewModel"/>
</data>
...
<....AdvancedBox
android:id="@+id/advancedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:viewModel = "@{viewModel}"
android:visibility="@{viewModel.advancedShown ? View.VISIBLE : View.GONE}"/>
...
</layout>
advanced_box.xml 如下所示:
<layout>
<data>
<import type="android.view.View"/>
<variable
name="viewModel"
type="...GlobalConfigViewModel" />
</data>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
....
AdvancedBox-类中的绑定是这样实例化的:
class AdvancedBox : LinearLayout{
private lateinit var mBinding: AdvancedBoxBinding
init{
mBinding = AdvancedBoxBinding.inflate(inflater, this, true)
}
所有这些以前都有效,但我最近更新了 Android Studio 并对代码进行了更改。
附加信息:
- gradle.properties 具有属性“android.databinding.enableV2=true”
- 我已经尝试过 File->Invalidate Caches and Restart
对可能出现的问题有什么建议吗?
【问题讨论】:
-
请您尝试删除构建文件夹然后清理构建吗?
标签: android android-databinding