2017-06-23 106 views
0

我可以使用@BeanAndroidAnnotationKotlin我可以在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

回答

2

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

@Bean 
lateinit var test: TestBean 

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

相关问题