У меня есть класс, который получает context
и uri
и устанавливает их в MediaMetadatRetriever
как dataSource
.Проблема в том, что я инициализирую свойство контекста с помощью функции withContext
, но, похоже, оно не инициализируется и заканчивается kotlin.UninitializedPropertyAccessException
.Любая помощь приветствуется.
Класс:
class MyClass: Thread() {
private lateinit var context: Context
private lateinit var uri: Uri
private val retriever = MediaMetadataRetriever()
override fun run() {
setRetriever()
}
fun withContext(context: Context) {
this.context = context
}
fun withUri(uri: Uri) {
this.uri = uri
}
fun setRetriever() {
retriever.setDataSource(context, uri)
}
fun startThread() {
MyClass().start()
}
}
Основная деятельность:
val myClass = MyClass()
myClass.withContext(this)
myClass.withUri(uri)
myClass.startThread()
Исключение:
kotlin.UninitializedPropertyAccessException: lateinit property context has not been initialized