【发布时间】:2018-09-13 10:06:41
【问题描述】:
问题:
我正在开发一个集成了 dataBinding 的项目,每当我创建新布局或将视图添加到现有布局时,它就不会出现在绑定对象中,我什至尝试重建和清理项目,但它没有'不起作用,我必须重新启动项目或重命名布局文件一两次以更新 BindingClass。这太烦人了,占用了我重要的时间。
代码
build.grade
dataBinding {
enabled = true
}
layout_file
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<RelativeLayout
android:id="@+id/lyt_parent"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<View android:id="@+id/old_view_1" .../>
<View android:id="@+id/old_view_2" .../>
<!-- New View -->
<View android:id="@+id/new_view" .../>
</RelativeLayout>
</layout>
Activity/Fragment/使用布局的地方
LayoutFileBinding binding = DataBindingUtil.setContentView(this, R.layout.layout_file);
binding.newView
// here I get error cannot resolve (newView) until i restart project or rename layout file
【问题讨论】:
-
除非你重建项目,否则它不会,因为这就是
Code generation的工作原理。你知道如何重建项目吗? @Umer Khan -
你可以
rebuild项目或close项目和re-open它 -
只需
Rebuild Project,您无需重新启动项目。 -
您是否尝试过使缓存无效?文件 -» 使缓存无效/重新启动
-
@UmerKhan 再次同步您的项目
标签: android layout data-binding android-databinding