Я занимаюсь разработкой приложения для Android с использованием Kotlin в Android Studio.Приложению необходимо получить некоторые данные JSON через соединение через веб-сокет, преобразовать их в класс данных с помощью gson и затем передать их фрагменту для обновления элемента представления.Я пытаюсь найти правильный способ правильно передавать данные между этими классами.Мне нужно обновить элементы пользовательского интерфейса фрагмента из класса websocketClient, который создается в Mainactivity.
В моем проекте есть следующие классы: Mainacticity.kt, WebsocketClient.kt, Fragment1.kt и DataClass.kt
Я выяснил, как обновить пользовательский интерфейс из класса WebsocketClient, передав его 'this' в качестве контекста и используя context.runOnUiThread (), но мне кажется, что это неправильный способ.
Моя первоначальная идеяреализация обновлений пользовательского интерфейса фрагмента из класса:
class Fragment1 : Fragment(){
public fun onReceiveData(data : String){
Toast.makeText(activity, data, Toast.LENGTH_SHORT).show()
}
class WebsocketClient(uri: URI, context: MainActivity): WebSocketClient(uri){
override fun onMessage(message: String?) {
Fragment1().onReceiveData(message)
}
}
Это дает мне ошибку: android.content.Context.getPackageName () 'для ссылки на пустой объект