2024年3月13日发(作者:)

class OnListChangedNotifier(

val adapter: r<*>,

) : OnListChangedCallback>() {

@SuppressLint("NotifyDataSetChanged")

override fun onChanged(sender: ObservableList) {

DataSetChanged()

}

override fun onItemRangeChanged(

sender: ObservableList,

positionStart: Int,

itemCount: Int

) {

ItemRangeChanged(positionStart, itemCount)

}

override fun onItemRangeInserted(

sender: ObservableList,

positionStart: Int,

itemCount: Int

) {

ItemRangeInserted(positionStart, itemCount)

}

override fun onItemRangeMoved(

sender: ObservableList,

fromPosition: Int,

toPosition: Int,

itemCount: Int

) {

for (i in 0 until itemCount) {

ItemMoved(fromPosition + i, toPosition + i)

}

}

override fun onItemRangeRemoved(

sender: ObservableList,

positionStart: Int,

itemCount: Int

) {

ItemRangeRemoved(positionStart, itemCount)

}

}

3.绑定list和adapter

istChangedCallback(OnListChangedNotifier(adapter))