【发布时间】:2020-06-30 21:44:28
【问题描述】:
当尝试在 Spinner 上使用 DataBinding 时,我可以通过这样设置 xml 来让它显示和选择项目:
<layout xmlns="blahblahblah">
<data>
<variable
name="myItemList"
type="java.util.List<myItem>" />
</data>
</layout>
<LinearLayout>
<Spinner
android:entries="@{myItemList}"
tools:listitem="@layout/my_spinner_items_layout" />
</LinearLayout>
然后我有 my_spinner_items_layout 和多个 DataBound 视图,但我似乎找不到任何方法来设置 Spinner 以使用我提供的布局;它默认为默认的ArrayAdapter,它只有一个TextView 设置为读取name 值(tools:listitem 似乎只在Android Studio 的设计器中使用)。
即使我尝试使用
myViewBinding.mySpinner.setAdapter(new MySpinnerAdapter(this, R.layout.my_spinner_items_layout, myItemList));
就像我在没有 DataBinding 的情况下所做的那样,我的自定义适配器中的任何函数都不会被调用(显然,除了构造函数)。
我应该如何使用 DataBinding 为 Spinner 指定自定义布局?
【问题讨论】:
标签: android android-layout android-spinner android-databinding