我需要做什么来实现DateTime(joda.time)对象(Android)的两种数据绑定方式

我有一个模型,希望通过数据绑定链接到布局,如下所示:

        <com.google.android.material.textfield.TextInputLayout
        android:id="@+id/input_start_date_til"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
        <com.google.android.material.textfield.TextInputEditText
            android:id="@+id/input_start_date"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/start_date"
            android:text='@={model.startDate}' />
    </com.google.android.material.textfield.TextInputLayout>

模型是这样的:

data class model(var startDate: DateTime)

由于某些原因,databingin生成显示以下错误:

/数据绑定错误/ msg:在com.google.android.material.textfield.TextInputEditText上找不到值类型为org.joda.time.DateTime的属性“ android:text”的获取器

我已尝试实现以下方法,但没有成功,目前尚不清楚 BindingAdapter InverseBindingAdapter 的作用:

@BindingAdapter("android:text")
fun setText(editText: TextInputEditText,date: DateTime) {
    editText.setText(date.toString())
}

@InverseBindingAdapter(attribute = "android:text")
fun getText(date: TextInputEditText): String {
    return try {
        val dimString = date.text.toString()
        DateTime.parse(dimString).toString()
    } catch (e: NumberFormatException) {
        DateTime.now().toString()
    }
}

关于如何解决该问题的任何想法?

chenxcl12345 回答:我需要做什么来实现DateTime(joda.time)对象(Android)的两种数据绑定方式

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3100866.html

大家都在问