Android 找不到<;的获取程序;。。。应用程序:myValue>;接受参数类型';java.lang.String';

Android 找不到<;的获取程序;。。。应用程序:myValue>;接受参数类型';java.lang.String';,android,android-databinding,Android,Android Databinding,我有一个视图(而不是视图模型!),其中包含一些更复杂的逻辑/状态,我希望为其启用双向数据绑定。因此,我希望使用getter/setter,而不是使用静态绑定适配器 因此,我做了以下工作: var myValue: String = "" @Bindable get(): String { return field } set(value: String) { field=value // this creates backing field setText(value)

我有一个
视图
(而不是
视图模型
!),其中包含一些更复杂的逻辑/状态,我希望为其启用双向数据绑定。因此,我希望使用getter/setter,而不是使用静态绑定适配器

因此,我做了以下工作:

var myValue: String = ""
@Bindable get(): String {
    return field
}
set(value: String) {
    field=value // this creates backing field
    setText(value)
    notifyPropertyChanged(BR.myValue)
}
编译此文件时(使用
/gradlew assembleDebug--stacktrace
获取详细信息),我得到以下错误:

Caused by: android.databinding.tool.util.LoggedErrorException: Found data binding error(s):

ERROR: Cannot find a getter for <com.example.test.MyAutoCompleteTextView app:myValue> 
that accepts parameter type 'java.lang.String'

If a binding adapter provides the getter, check that the adapter is annotated correctly
and that the parameter type matches. 
file:///Users/myuser/AndroidStudioProjects/MyProject/app/src/main/res/layout/fragment_my.xml Line:123
原因:android.databinding.tool.util.LoggedErrorException:发现数据绑定错误:
错误:找不到的获取程序
接受参数类型“java.lang.String”的
如果绑定适配器提供getter,请检查适配器是否正确注释
并且参数类型匹配。
file:///Users/myuser/AndroidStudioProjects/MyProject/app/src/main/res/layout/fragment_my.xml 电话:123
我不太明白的是

ERROR: Cannot find a getter for <com.example.test.MyAutoCompleteTextView app:myValue> 
that accepts parameter type 'java.lang.String'
错误:找不到的getter
接受参数类型“java.lang.String”的

为什么它要寻找一个参数类型为String的getter?getter应该返回一个字符串,但是没有一个字符串参数

它不一定能回答您的问题,但我认为它可以是get()=field当您明确声明
getMyValue()
方法时,它能工作吗?我也尝试过,但不幸的是没有):也许这会有帮助?我还没有完全弄清楚这些可装订的东西是如何工作的谢谢,我已经读过了,但找不到任何东西,这就解释了我的问题):