如何设置数据绑定(bind)中包含布局的可见性?

2020年5月19日 19点热度 0条评论

我已经在项目中实现了数据绑定。我有一个特殊的屏幕,在include标签中有两个嵌套的布局。我无法以编程方式使用数据绑定更改包含布局的可见性。

但是,我是通过布尔值实现的,但是我的问题是如何以编程方式设置包含标记的可见性。

我的xml:

<include
  android:id="@+id/reg_email"
  layout="@layout/custom_email"
  android:layout_width="match_parent"
  android:layout_height="match_parent"/>


<include
  android:id="@+id/reg_phone"
  layout="@layout/custom_phone"
  android:layout_width="match_parent"
  android:layout_height="match_parent"/>

在 Activity 中:

当我尝试设置此值时-它变为红色,表示不将其视为视图。

  dataBinding.regPhone.setVisibility(View.GONE);
  dataBinding.regEmail.setVisibility(View.VISIBLE);

解决方案如下:

将root添加到您的视图

dataBinding.regPhone.getRoot().setVisibility(View.GONE);
dataBinding.regEmail.getRoot().setVisibility(View.VISIBLE);