2017-06-23 5 views
0

Kann ich @Bean von AndroidAnnotation innerhalb Kotlin verwenden?Kann ich @Bean von AndroidAnnotation in Kotlin verwenden?

@EActivity(R.layout.activity_test) 
open class TestActivity : AppCompatActivity() { 

    @Bean 
    var test:TestBean //<-- IDE shows "property must be initialized or abstract" 

Dies ist meine Bean Erklärung

@EBean 
class TestBean { 

    fun printShit(){ 
    Log.e("ASDF","ASDF") 
    } 
} 

Ist das irgendwie möglich? Oder muss ich dafür kotlins object verwenden?

Antwort

2

Sie können es markieren lateinit um zu vermeiden, es zu initialisieren.

@Bean 
lateinit var test: TestBean 

Dadurch, doch sagen Sie den Compiler, dass Sie sicher sind, wird es vor dem ersten Mal, wenn Sie es verwenden, initialisiert werden. Wenn es nicht initialisiert wird und Sie versuchen, es zu verwenden, wird eine Ausnahme ausgelöst.

Verwandte Themen