我能从Kotlin的AndroidAnnotation中使用@Bean吗?

AndroidAnnotation 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 

通过这样做,你告诉编译器,你确定它会在你第一次使用它之前被初始化。 如果它没有被初始化,并且尝试使用它,则会抛出异常。