需要在RecyclerView的适配器中重写方法getItemId和getItemViewType,确保它们返回适当的值。如果它们的返回值没有改变,notifyItemChanged将不会调用OnBindViewHolder方法。
示例代码如下:
class MyAdapter(private val items: MutableList) : RecyclerView.Adapter() {
    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
        //  创建ViewHolder
    }
    override fun getItemCount(): Int {
        return items.size
    }
    override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
        val item = items[position]
        //  绑定数据到ViewHolder
    }
    override fun getItemId(position: Int): Long {
        //  返回item的ID
        return position.toLong()
    }
    override fun getItemViewType(position: Int): Int {
        //  返回当前item的类型
        return super.getItemViewType(position)
    }
}