Reputation: 232
I'm showing my recycler view like this:
parrafoLeyViewModel.allParrafosLey.observe(this, Observer {
recyclerview_lectura_ley.layoutManager = LinearLayoutManager(this)
adapterListar = AdapterListarLey(this, it, this)
recyclerview_lectura_ley.adapter = adapterListar
})
So when I insert data into the RoomDatabase my recyclerview restarts and goes back to the start
GlobalScope.launch {
db.parrafoLeyDao().updateComentarioLey(
ComentarioLey(
idParrfo,
spTipoComentario.selectedItem.toString(),
etInserteComentario.text.toString()
)
)
}
What I want is that when I insert the data it remains in the same position. I am using ViewModel
Upvotes: 0
Views: 181
Reputation: 766
You are not correctly passing the data to Recycler View
Please make sure your Data Source is wrapped inside a Live Data
And then pass this live data to your Recycler View Adapter.
This way Recycler View
will only re-draw the changed item and not the entire list. Because Recycler View works well with Live Data.
Any method of Recycler View
which will cause the list to re-draw should be excluded.
for e.g. notifyDataSetChanged()
method.
Instead call submitList()
And lastly please go through below documentation:
Upvotes: 1