ViewModel

ViewModel


В главное меню


ViewModel необходим для сохранения состояния данных. Например



Строчка

viewModel = ViewModelProvider(this).get(MainViewModel::class.java)

возвращает ссылку на вьюмодель если она была ранее создано. Несмотря на то что активити будет пересоздаваться - вьюмодель будет одна. Типа синглтон в рамках жизненного цикла активити.


Если этого не создавать, то вьюмодель будет уничтожаться и солздаваться каждый раз когда, например переворачиваем экран.



Пример:

Инициализируем
private lateinit var viewModel: MainViewModel


Присваиваем
viewModel = ViewModelProvider(this).get(MainViewModel::class.java)


Report Page