Я использовал рекомендации Google, чтобы создать свой вид рециркулятора с помощью утилит diff, но утилиты diff не обновляются с моим списком liveata. Я перепробовал все
Класс моей модели
data class Note(
val Title:String?=null,//column 2
val Note:String?=null// column 3
):Serializable{
@PrimaryKey(autoGenerate = true)
var id:Int=0
}
МойАдаптер Recylerview
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val item=getItem(position)
holder.bind(item,clickLitener)
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
return ViewHolder.from(parent)
}
}
class ViewHolder constructor(val binding: NoteLayoutBinding):RecyclerView.ViewHolder(binding.root){
fun bind(item:Note,clickLitener: NoteClickLitener){
binding.noteDB=item
binding.clicklistener=clickLitener
binding.executePendingBindings()
}
companion object{
fun from(parent: ViewGroup):ViewHolder{
val layoutInflater=LayoutInflater.from(parent.context)
val binding=NoteLayoutBinding.inflate(layoutInflater,parent,false)
return ViewHolder(binding)
}
}
}
class NoteAdapterDiffUtils :DiffUtil.ItemCallback<Note>(){
override fun areItemsTheSame(oldItem: Note, newItem: Note): Boolean {
return oldItem.id==newItem.id
}
override fun areContentsTheSame(oldItem: Note, newItem: Note): Boolean {
return oldItem==newItem
}
}
class NoteClickLitener(val clicklistener: (Note)->Unit){
fun onClick(Note:Note)=clicklistener(Note)
Основной фрагмент
private fun subscribeObserver(){
viewModel.loadData().observe(viewLifecycleOwner, Observer {
it.let {
adapter.submitList(it)
}
})
}
он просто наблюдает, когда в комнату добавляются новые данные, но не вычисляет список, когда я ничего не удаляю, пожалуйста, ябыл бы признателен за любую помощь