Java 回收视图:最后一项&x27;notifyItemRemoved()上的s动画
行为视频: 删除:Java 回收视图:最后一项&x27;notifyItemRemoved()上的s动画,java,android,android-recyclerview,Java,Android,Android Recyclerview,行为视频: 删除: viewHolder.buttonDelete.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { mItemManger.removeShownLayouts(viewHolder.swipeLayout); mDataset.remove(position); notifyItem
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();
}
});
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);
}
});
我怎样才能解决这个问题
注意事项:
我正在使用,我已经更新了库
更新:
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();
}
});
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);
}
});
我认为你应该调用notifyItemRangeRemoved(位置1)代码>取而代之。我认为您应该调用
notifyItemRangeRemoved(位置1)代码>取而代之。回收视图必须具有布局\u height=“match\u parent”
。与最后一个项目消失和重新出现的问题相同,这让我抓狂。RecyclerView必须具有layout\u height=“match\u parent”
。最后一个项目消失和重新出现的问题让我抓狂。这使得下面的项目消失和出现,看起来很奇怪看起来很奇怪,当第一个项目没有显示时,我删除了一个,上面的项目向下移动。我会让你知道我是否找到了更好的解决方案,使下面的项目消失和出现,看起来很奇怪看起来不一样很奇怪,当第一个项目没有显示时,我删除了一个,上面的项目向下移动我会让你知道我是否找到了更好的解决方案你是如何解决这个问题的?我有相同的问题,尝试了接受答案的解决方案,结果相同(我使用当前工作代码编辑,我不确定它是否能解决问题,但你是如何解决问题的?我有相同的问题,尝试了接受答案的解决方案,结果相同(我用当前的工作代码编辑,我不确定它是否能解决问题,因为这正是我的问题。谢谢!这正是我的问题。谢谢!