如何使用视图绑定访问 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);
我正在使用 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);