Я пытаюсь обновить ArrayList, который находится внутри MutableLiveData. всякий раз, когда я изменяю содержимое в ArrayList, ListAdapter не обновляется.
ViewModel
private var _tileNumberList:MutableLiveData<ArrayList<TileNumber>> = MutableLiveData()
var tempTileNumberList: ArrayList<TileNumber> = ArrayList()
val tileNumberList:LiveData<ArrayList<TileNumber>>
get() = _tileNumberList
init {
for (i in 1..9){
for (j in 1..9){
//tileNumberList.add(TileNumber(0,i,j))
tempTileNumberList.add(TileNumber(0,i,j))
}
}
fun onStart() {
tempTileNumberList[count].number = 8
_tileNumberList.value = tempTileNumberList
count++
}
всякий раз, когда я вызываю метод onStart, значения списка меняются, но ListAdapter не обновляется с последними значениями
MainActivity
backTrackingViewModel.tileNumberList.observe(this, Observer {
it?.let {
//adapter.submitList(null)
adapter.submitList( it)
}
Toast.makeText(
applicationContext,
"Hey",
Toast.LENGTH_SHORT
).show()
})
когда я устанавливаю adapter.submitList (null), тогда мой ListAdapter обновляется
TileNumber
data class TileNumber(var number:Int,val row:Int,val column:Int) {
}
Я пробовал ссылки этой ссылки, но не работал
ListAdapter не обновляет элемент в RecyclerView
{ ссылка } (это не очень хорошее решение)
DiffUtil ItemCallback areContentsTheSame () всегда возвращает true после обновления элемента в ListAdapter