我可以在Kotlin中使用AndroidAnnotation中的@Bean吗?

时间:2017-06-23 15:08:38

标签: kotlin android-annotations

我可以在@Bean内使用AndroidAnnotation中的Kotlin吗?

@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吗?

1 个答案:

答案 0 :(得分:2)

您可以将其标记为lateinit,以避免必须对其进行初始化。

{{1}}

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