2016-01-05 172 views
1

我有我的RecyclerView defaultItemAnimator問題。當我使用notifyItemRemoved()移除其中一個項目時,我還在另一個特定索引上調用notifyItemChanged()以更改其中的文本。在刪除動畫期間,我稱爲notifyItemChanged()的項目會更改其文本,但會執行一些看起來很愚蠢的動畫,像拇指一樣突出顯示。 (它立即移動到其新的位置,而其餘的移動到其新的位置)Android的 - RecyclerView動畫notifyItemChanged後notifyItemRemoved

有沒有辦法得到通知,當notifyItemRemoved()完成後,我可以然後調用notifyItemChanged()?

+0

結帳這個SO答案[插入/刪除動畫回收站查看](http://stackoverflow.com/a/32890849/3140227) –

回答

1

一個可能的解決方案是設置一個Handler。 獲取notifyItemRemoved()和notifyItemChanged()的Animation類的源代碼。在方法裏面應該是這些行:

animation.setDuration(getRemoveDuration()) 
      .alpha(0).setListener(new VpaListenerAdapter() { 
     @Override 
     public void onAnimationStart(View view) { 
      dispatchRemoveStarting(holder); 
     } 

animateRemoveImpl()方法內部。

進入的

getRemoveDuration() 

申報和獲得的價值。 在帶有getRemoveDuration()的postDelay的處理函數中設置notifyItemChange()。 的處理器也可以看某事像:

handler.postDelayed(notifyItemChanged, theDurationValue); } 
相關問題