2016-07-07 13 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

それは、 weird –

+0

あなたは 'notifyItemRemoved()'を使ってjstを試しました –

+0

はい私はそれを試しました –

3

RecyclerViewにはlayout_height="match_parent"が必要です。最後の項目が消えて再び現れて同じ問題があって、私を狂わせてしまった。

+0

これはまさに私の問題でした。ありがとう! –

関連する問題