首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android:在Kotlin中使用自定义BindingAdapters似乎不起作用

Android:在Kotlin中使用自定义BindingAdapters似乎不起作用
EN

Stack Overflow用户
提问于 2019-04-29 00:48:15
回答 1查看 32关注 0票数 0

我一直在使用一个简单的数据绑定器来更改视图的可见性,如下所示:

代码语言:javascript
复制
public class BindingAdapters {
    @BindingAdapter("shown")
    public static void setShown(View view, boolean show) {
        view.setVisibility(show ? View.VISIBLE : View.GONE);
    }
}

当我将其翻译成Kotlin时,如下所示:

代码语言:javascript
复制
object BindingAdapters {
    @BindingAdapter("shown")
    fun setShown(view: View, show: Boolean) {
        view.visibility = if (show) View.VISIBLE else View.GONE
    }
}

我得到一个错误,不存在"shown“的设置器。

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2019-04-29 00:52:22

为了让Kotlin对象声明生成static Java方法,您需要使用@JvmStatic注释该方法,如下所示:

代码语言:javascript
复制
object BindingAdapters {
  @JvmStatic
  @BindingAdapter("shown")
  fun setShown(view: View, show: Boolean) {
    view.visibility = if (show) View.VISIBLE else View.GONE
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55892501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档