Могу ли я использовать @Bean из AndroidAnnotation в Kotlin?
Могу ли я использовать @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 ответ
Решение
Вы можете отметить это lateinit
чтобы избежать инициализации.
@Bean
lateinit var test: TestBean
Делая это, вы сообщаете компилятору, что вы уверены, что он будет инициализирован перед первым использованием. Если он не инициализируется и вы пытаетесь его использовать, это вызовет исключение.