2016-07-07 7 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, и у меня есть библиотеки обновлены.

Update:

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

Я отредактировал с текущим рабочим кодом, я не уверен, что он решит проблему tho –

ответ

1

Я думаю, вы должны позвонить notifyItemRangeRemoved(position, 1); вместо этого.

+0

Это привело к тому, weird –

+0

have u попробовал jst использовать 'notifyItemRemoved()' –

+0

yes II пробовал его –

3

RecyclerView должен иметь layout_height="match_parent". Если бы тот же самый вопрос с исчезновением и повторным появлением последнего предмета заставлял меня сходить с ума.

+0

Это была моя проблема. Спасибо! –

Смежные вопросы