【发布时间】:2020-01-02 07:27:56
【问题描述】:
我在我的布局 fragment_hurdle_otp.xml 文件中使用了组视图。
.
.
.
<android.support.constraint.Group
android:id="@+id/group_navigate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:constraint_referenced_ids="iv_navigate_option,tv_navigate_option" />
<ImageView
android:id="@+id/iv_navigate_option"
android:layout_width="@dimen/space_16"
android:layout_height="@dimen/space_16"
android:layout_marginStart="@dimen/default_space_24"
app:layout_constraintBottom_toBottomOf="@+id/tv_navigate_option"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/tv_navigate_option"
app:srcCompat="@drawable/outline_lock_vector" />
<TextView
android:id="@+id/tv_navigate_option"
style="@style/LoginButtonLight"
android:layout_width="wrap_content"
android:layout_height="@dimen/wh_40"
android:layout_marginTop="@dimen/default_space"
android:layout_marginBottom="@dimen/default_margin_8"
android:padding="@dimen/default_space_small"
android:text="@{vm.tvNavigateOption}"
app:layout_constraintBottom_toTopOf="@+id/tv_verify"
app:layout_constraintStart_toEndOf="@+id/iv_navigate_option"
android:background="@drawable/white_selectable_item_background"
android:onClick="@{()->vm.onNavigate()}"
tools:text="@string/login_with_password" />
.
.
.
但是在构建时,为此布局生成绑定文件失败并引发编译错误。
类元素:(java.lang.String,java.lang.String)void init /Users/.../../..application/build/generated/data_binding_base_class_source_out/developersProductionDebug/dataBindingGenBaseClassesDevelopersProductionDebug/out/com/phone/app/databinding/FragmentHurdleOtpBinding.java:27:错误:找不到符号 public final Group groupNavigate;
如果我删除组视图,一切正常。
【问题讨论】:
-
一个简单的 clean + build 应该可以解决这个问题。如果不是,请发布错误指向的代码。
-
你还在使用
support库还是迁移到AndroidX? -
迁移到androidX
-
支持库已被作为 Jetpack 一部分的 AndroidX 取代。您还应该考虑将现有项目迁移到 AndroidX。更多信息:developer.android.com/jetpack/androidx/migrate
-
然后用
androidx.constraintlayout.widget.Group代替android.support.constraint.Group
标签: android data-binding android-constraintlayout android-databinding