Android:自定义视图数据绑定:绑定来自系统的值attrs.xml
Android: custom view data binding: bind values from system attrs.xml
我想使用 @BindingAdapter
将 EditText
的 imeOption
和 inputType
等值传递给自定义视图(其中包含 EditText
),所以它可以从将要使用它的视图中自定义。
理想情况下会这样:
@JvmStatic
@BindingAdapter("customEditText:imeOptions")
fun setImeOption(view: CustomEditText, inputVariable: Int) {
view.binding.editText.imeOptions = inputVariable
}
并在 xml 中:
<CustomEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
customEditText:imeOptions="@{actionDone}"/>
但actionDone
无法解析。有什么办法吗?
注意:CustomEditText
不扩展 EditText,它只是一个 LinearLayout
,其中包含一个 EditText
和其他视图
在数据标签中,导入 EditorInfo class:
<data>
<import type="android.view.inputmethod.EditorInfo"/>
</data>
并设置为:
customEditText:imeOptions="@{EditorInfo.IME_ACTION_DONE}"
我想使用 @BindingAdapter
将 EditText
的 imeOption
和 inputType
等值传递给自定义视图(其中包含 EditText
),所以它可以从将要使用它的视图中自定义。
理想情况下会这样:
@JvmStatic
@BindingAdapter("customEditText:imeOptions")
fun setImeOption(view: CustomEditText, inputVariable: Int) {
view.binding.editText.imeOptions = inputVariable
}
并在 xml 中:
<CustomEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
customEditText:imeOptions="@{actionDone}"/>
但actionDone
无法解析。有什么办法吗?
注意:CustomEditText
不扩展 EditText,它只是一个 LinearLayout
,其中包含一个 EditText
和其他视图
在数据标签中,导入 EditorInfo class:
<data>
<import type="android.view.inputmethod.EditorInfo"/>
</data>
并设置为:
customEditText:imeOptions="@{EditorInfo.IME_ACTION_DONE}"