android - 调用没有任何值的绑定(bind)适配器

标签 android android-databinding

只是想要调用绑定(bind)适配器的方法,而不需要 xml 中的任何值。

示例:

XML

<android.support.v7.widget.AppCompatSpinner
                            android:id="@+id/spinner"
                            android:layout_width="match_parent"
                            android:layout_height="@dimen/spinner_height"
                            android:background="@drawable/background"
                            app:performClickOnFocus="@{true}"/>

BindingAdater 代码

 @BindingAdapter({"app:performClickOnFocus"})
    public static void performClickOnSpinner(final AppCompatSpinner spinner, boolean arg) {
        spinner.setOnFocusChangeListener((v, hasFocus) -> {
            if (hasFocus) {
                spinner.performClick();
            }
        });
    }

预期的代码应该没有 bool 值。

如下所示

 @BindingAdapter({"app:performClickOnFocus"})
    public static void performClickOnSpinner(final AppCompatSpinner spinner) {
        spinner.setOnFocusChangeListener((v, hasFocus) -> {
            if (hasFocus) {
                spinner.performClick();
            }
        });
    }

让我知道是否还有其他方法可以实现这一目标

最佳答案

你可以做到这一点,

/**
* Use example:
* app:showDatePicker="@{null}"
*/
@BindingAdapter("showDatePicker")
fun TextView.showDatePicker(dummy: Any?) {
    // ...
}

关于android - 调用没有任何值的绑定(bind)适配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51588599/

相关文章:

Android ImageView 将 srcCompact 绑定(bind)到 bool 变量

android - recyclerView 中的数据绑定(bind)

android - 没有从 Xamarin Android C# 中提到的 Json 获取项目数组的值

android - ImageView.ScaleType.FitXY 在代码中不起作用

android - 如何在安卓手机上静音相机快门声音

android - 不同的移动操作系统和数据库

Android ListView,其中新项目推送旧项目 'down'

android-databinding - LiveData 与 Observable 数据对象

java - Gson如何解析自定义字段

安卓数据绑定(bind) : how can I bind a layout identifier to include