Обновите значение LiveDataType в архитектурных компонентах ViewModel для Android kotlin
Я пытаюсь отобразить список, используя kotlin и архитектурные компоненты Android. Ответ отображается на экране, используя вид модели наблюдателя. Но при выполнении разбиения на страницы и при повороте экрана последний ответ отображается только вместо всех, так как я чувствовал, что нам нужно обновить значение LiveData в ViewModel. Но я не могу обновить значение LiveData со всем списком. Я пытаюсь выяснить функцию loadSearch()
Ниже мой код
class NewsViewModel (): ViewModel () {
var topNewsList : LiveData<ArrayList<Articles>>? = null;
var pageNumber = 0
fun init(category: String?){
val articlesRepo: ArticlesRepositry = ArticlesRepositry()
if(topNewsList != null){
return
}
if(category.isNullOrBlank()){
topNewsList = articlesRepo.getTopNews()
}else{
topNewsList = articlesRepo.getTopCategoryNews(category!!)
}
}
fun loadSearchData(searchString: String?, pageNo: Int?){
val articlesRepo: ArticlesRepositry = ArticlesRepositry()
if(pageNo == 1){
topNewsList = articlesRepo.getSearchNews(searchString!!, pageNo)
}else{
topNewsList = articlesRepo.getSearchNews(searchString!!, pageNo!!)
}
}
override fun onCleared() {
super.onCleared()
Log.d("CLEARED ","VIEWMODEL")
}
fun getTopNewsesList(): LiveData<ArrayList<Articles>>{
return topNewsList!!;
}
}