Android:自定义视图数据绑定:绑定来自系统的值attrs.xml

Android: custom view data binding: bind values from system attrs.xml

我想使用 @BindingAdapterEditTextimeOptioninputType 等值传递给自定义视图(其中包含 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}"