2016-07-07 50 views
1

行爲的視頻:https://vid.me/nF1JRecyclerView:最後一個項目對notifyItemRemoved動畫()

刪除:

viewHolder.buttonDelete.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      mItemManger.removeShownLayouts(viewHolder.swipeLayout); 
      mDataset.remove(position); 
      notifyItemRemoved(position); 
      notifyItemRangeChanged(position, mDataset.size()); 
      mItemManger.closeAllItems(); 
      Toast.makeText(view.getContext(), "Deleted " + viewHolder.textViewPos.getText().toString() + "!", Toast.LENGTH_SHORT).show(); 
     } 
    }); 

我該如何解決這個問題?

注: 我使用this library,和我有庫更新。

更新:

viewHolder.buttonDelete.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       mItemManger.removeShownLayouts(viewHolder.swipeLayout); 
       mResultArray.remove(position); 
       notifyItemRangeChanged(position, mResultArray.size()); 
       notifyItemRemoved(position); 
       mItemManger.closeAllItems(); 
       new Handler().postDelayed(new Runnable() { 
        @Override 
        public void run() { 
         notifyDataSetChanged(); 
        } 
       }, 500); 
      } 
     }); 
+0

你是怎麼解決這個問題的?我有同樣的問題,嘗試從接受的答案的解決方案,相同的結果( –

+0

我編輯與當前的工作代碼,我不知道它是否會解決問題 –

回答

1

我想你應該叫notifyItemRangeRemoved(position, 1);代替。

+0

這使項目波紋管消失並出現,看起來奇怪 –

+0

你試過jst使用'notifyItemRemoved()' –

+0

是的,我已經嘗試過 –

3

RecyclerView必須有layout_height="match_parent"。如果最後一個項目的消失和重現出現同樣的問題讓我發瘋。

+0

這正是我的問題,謝謝! –

相關問題