2017-06-23 52 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 

通過這樣做,您告訴編譯器,您確定它會在第一次使用它之前被初始化。如果它沒有被初始化,並且您嘗試使用它,則會引發異常。

相關問題