我可以在 Kotlin 中使用来自 AndroidAnnotation 的 @Bean 吗?
Can I use @Bean from AndroidAnnotation within Kotlin?
我可以在 Kotlin
中使用 AndroidAnnotation
中的 @Bean
吗?
@EActivity(R.layout.activity_test)
open class TestActivity : AppCompatActivity() {
@Bean
var test:TestBean //<-- IDE shows "property must be initialized or abstract"
这是我的Bean
声明
@EBean
class TestBean {
fun printShit(){
Log.e("ASDF","ASDF")
}
}
这有可能吗?或者我必须为此使用 kotlins object
吗?
您可以将其标记为 lateinit
以避免必须对其进行初始化。
@Bean
lateinit var test: TestBean
通过这样做,您是在告诉编译器您确信它会在您第一次使用它之前进行初始化。如果它没有被初始化而你试图使用它,这将抛出一个异常。
我可以在 Kotlin
中使用 AndroidAnnotation
中的 @Bean
吗?
@EActivity(R.layout.activity_test)
open class TestActivity : AppCompatActivity() {
@Bean
var test:TestBean //<-- IDE shows "property must be initialized or abstract"
这是我的Bean
声明
@EBean
class TestBean {
fun printShit(){
Log.e("ASDF","ASDF")
}
}
这有可能吗?或者我必须为此使用 kotlins object
吗?
您可以将其标记为 lateinit
以避免必须对其进行初始化。
@Bean
lateinit var test: TestBean
通过这样做,您是在告诉编译器您确信它会在您第一次使用它之前进行初始化。如果它没有被初始化而你试图使用它,这将抛出一个异常。