我正在使用DataBinding处理BindingAdapter。这是我的自定义方法。

@BindingAdapter("{bind:fadevisible}")
public static void setFadeVisible(LinearLayout view, int visible) {
    Log.e("Bindings", "setFadeVisible: ");
}

在xml文件中,我这样称呼它
<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        app:fadevisible="@{1}"/>

但它显示错误



我已经检查了thisthis线程,但是以某种方式对我没有帮助,因为您可以看到我从xml传递了int,并且在BindingAdapter中我还提到了LinearLayoutint值。

甚至我也有另一种方法,只是参数不同并且工作正常
@BindingAdapter({"bind:image_round"})
public static void loadRoundImage(ImageView imageView, String url)

最佳答案

您的@BindingAdapter定义对我来说有点奇怪

@BindingAdapter("{bind:fadevisible}")

这不一样
@BindingAdapter({"bind:fadevisible"})

要么
@BindingAdapter("bind:fadevisible")

这应该工作得很好。

08-18 12:15