Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> RecyclerView關於notifyItemRemoved的那點小事

RecyclerView關於notifyItemRemoved的那點小事

編輯:關於Android編程

當我們需要remove掉一條數據(位置在position)時,想要使用RecyclerView的動態效果,就需要調用notifyItemRemoved。但是該方法不會使position及其之後位置的vitemiew重新onBindViewHolder。所以不當使用會導致下標錯亂,各種坑爹的bug就來了。
彌補上面的問題,你還需要調用 notifyItenRangeChanged方法,使下面的itemview重新onBind,就可以了。

如下解決:

public void remove(int position) {
        mDataList.remove(position);
        notifyItemRemoved(position);
        if(position != mDataList.size()){ // 如果移除的是最後一個,忽略
            notifyItemRangeChanged(position, mDataList.size() - position);
        }

    }
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved