RecyclerView:notifyItemRemoved()上最后一个项目的动画

Joh*_*nha 1 java android android-recyclerview

行为的视频:https : //vid.me/nF1J

移除:

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();
    }
});
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

注意: 我正在使用此库,并且已经更新了库。

更新:

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);
    }
});
Run Code Online (Sandbox Code Playgroud)

zab*_*son 7

RecyclerView必须具有layout_height="match_parent"。上一个项目消失并再次出现时也遇到了同样的问题,这使我发疯。

  • 这正是我的问题。谢谢! (2认同)
  • 这是此页面上的正确答案! (2认同)
  • 这应该是公认的答案。+1 (2认同)