【问题标题】:Databinding TypeConverter error in kotlinkotlin 中的数据绑定 TypeConverter 错误
【发布时间】:2018-05-28 16:54:28
【问题描述】:

我在一些数据绑定中使用了 TypeConverter。问题是它需要静态函数,当我将它转换为 Kotlin 时,它会进入伴随对象,数据绑定处理器无法跟踪更改。

我收到以下错误:

java.lang.IllegalStateException: 必需的 DataBindingComponent 为空 在 ListMainBinding 类中。中的 BindingAdapter com.noisyninja.androidlistpoc.model.DataConverter.Companion 不是 静态的,需要一个对象来使用,从 数据绑定组件。如果你不使用通货膨胀方法采取 DataBindingComponent,使用 DataBindingUtil.setDefaultComponent 或 make 所有 BindingAdapter 方法都是静态的。 在 android.databinding.ViewDataBinding.ensureBindingComponentIsNotNull(ViewDataBinding.java:554)

如何让它识别伴随对象中的静态 @TypeConverter 注释方法

【问题讨论】:

    标签: java android kotlin android-databinding companion-object


    【解决方案1】:

    您可以在 Binding Adapter 方法上方添加@jvmStatic 注解,如下所示:

    @BindingAdapter(value = "visiblity")
    @JvmStatic
    fun showHide(view : View, show : Boolean){
        view.visibility = when {
            show -> View.VISIBLE
            else -> View.GONE
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多