我正在尝试在kotlin中使用AndroidAnnotations @SharefPref
,但我发现错误
org.androidannotations.annotations.sharedpreferences.Pref can only be used on an element that extends org.androidannotations.api.sharedpreferences.SharedPreferencesHelper
我做错了什么?
//Interface
@SharedPref(SharedPref.Scope.APPLICATION_DEFAULT)
open interface MyPreferences {
@DefaultInt(-1)
fun someIntValue():Int
}
//Fragment
@Pref
lateinit open var sharedPref:CongressPreferences_
//usage within fragment
val get: Int = sharedPref.selectedEventId().get()
答案 0 :(得分:3)
这是由于Kotlin注释处理器中的bug
要解决此问题,请you must add correctErrorTypes = true
到您的kapt
区块。
kapt {
correctErrorTypes = true
}
同时确保您使用的是最新的Kotlin版本(截至目前为止:1.1.3)。
答案 1 :(得分:0)
我只想扩展@WonderCsabo的答案。 他的回答几乎救了我,但并没有完全挽救我。
将其添加到我的应用程序标签构建包中。
kapt {
correctErrorTypes = true
}
我无法运行我的应用。
然后,我关闭了Android Studio,然后以管理员身份再次运行Android Studio。 瞧!它就像魅力一样。
谢谢@WonderCsabo