我一直在使用一个简单的数据绑定器来更改视图的可见性,如下所示:
public class BindingAdapters {
@BindingAdapter("shown")
public static void setShown(View view, boolean show) {
view.setVisibility(show ? View.VISIBLE : View.GONE);
}
}
当我将其翻译成Kotlin时,如下所示:
object BindingAdapters {
@BindingAdapter("shown")
fun setShown(view: View, show: Boolean) {
view.visibility = if (show) View.VISIBLE else View.GONE
}
}
我得到一个错误,不存在"shown“的设置器。
我做错了什么?
发布于 2019-04-29 00:52:22
为了让Kotlin对象声明生成static Java方法,您需要使用@JvmStatic
注释该方法,如下所示:
object BindingAdapters {
@JvmStatic
@BindingAdapter("shown")
fun setShown(view: View, show: Boolean) {
view.visibility = if (show) View.VISIBLE else View.GONE
}
}
https://stackoverflow.com/questions/55892501
复制相似问题