如何使用视图绑定访问 TextSwitcher 的子元素?

How to access child elements of a TextSwitcher using view binding?

我正在使用 Android view binding 获取我的 XML 的自动生成的绑定 class。在我的 XML 定义中,我使用 TextSwitcher 控件和两个 TextView.

类型的子元素

在代码中,我像这样访问 TextSwitcher 的子视图:

...
_binding = MyViewBinding.inflate((LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE), this, true);

((TextView)_binding.myTextSwitcher.getChildAt(0)).setTextColor(_mySpecialColor);
((TextView)_binding.myTextSwitcher.getChildAt(1)).setTextColor(_mySpecialColor);
...

是否有更简单的方法可以直接使用 MyViewBinding class 访问 myTextSwitcher 的子视图而不需要转换它们?

XML 定义如下所示:

<TextSwitcher
  android:id="@+id/myTextSwitcher"
  android:layout_width="match_parent"
  android:layout_height="wrap_content">

  <TextView
    android:id="@+id/text1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

  <TextView
    android:id="@+id/text2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

</TextSwitcher>

我一直在生成的绑定中搜索错误的位置 class。

那些 TextView 可以在我的 _binding 变量上直接访问。

// this does work
_binding.text1.setTextColor(_headerLabelColor);
_binding.text2.setTextColor(_headerLabelColor);

我认为它们需要像我的 TextSwitcher 的 child 一样可以访问,但我现在似乎学到了一些东西。

// this does not work but I expected it to
_binding.myTextSwitcher.text1.setTextColor(_headerLabelColor);
_binding.myTextSwitcher.text2.setTextColor(_headerLabelColor);