Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 10.12.2019, 12:51   #1
genbachae
 
Регистрация: 27.09.2019
Сообщений: 5
По умолчанию Kotlin как работать с LiveData правильно?

Уважаемые форумчане подскажите пожалуйста, почему не происходит вызова функции "onChanged"?

Код:
class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    val liveData = DataController.getData()

    liveData?.observe(this, Observer<String>() {
        @Override
        fun onChanged(@Nullable value:String) {
            textView.text = value
        }
    });
}

fun refresh(view: View) {
    DataController.refresh()
}
Код:
object DataController {                                 //  это синглтон!
private val liveData = MutableLiveData<String>()

fun getData(): LiveData<String>? {
    return liveData
}

fun getCurrentDateTime(): Date {
    return Calendar.getInstance().time
}

fun refresh(){
    val date = getCurrentDateTime()
    val dateInString = date.toString()
    liveData.value = dateInString
}
Саму подписку вроде верно сделал, данные обновляю путём вызова: DataController.refresh()

Исходный код лежит здесь: https://github.com/genbachae/T_LiveData
genbachae вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Kotlin. Android studio. Как перетащить мусор в корзину? Drag 'n drop в Kotlin. savera Фриланс 0 20.06.2019 16:34
Перестала правильно работать БД Zuban C/C++ Базы данных 3 08.06.2012 18:57
Как правильно работать с $_POST? Руслан Роккер PHP 6 27.01.2012 11:22
как правильно работать с функциями в С++ серг Помощь студентам 2 07.12.2009 23:46


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840