Android的RecyclerView拖动排序无法正确更新RecyclerView。
创始人
2024-10-07 08:30:42
0

这可能是由于项的重新排序没有正确地通知Recycler View适配器而导致的。为了解决此问题,您可以尝试以下几种方法:

  1. 确保您的适配器实现了ItemTouchHelper.Callback接口并正确实现了onMove()和onSwiped()方法,以便在拖动或滑动项目时接收通知,并根据需要更新数据集。
public class MyItemTouchHelperCallback extends ItemTouchHelper.Callback {
 
    private final MyAdapter mAdapter;
 
    public MyItemTouchHelperCallback(MyAdapter adapter) {
        mAdapter = adapter;
    }
 
    @Override
    public boolean isLongPressDragEnabled() {
        return true;
    }
 
    @Override
    public boolean isItemViewSwipeEnabled() {
        return true;
    }
 
    @Override
    public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
        // Handle swipe event
    }
 
    @Override
    public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder,
                          RecyclerView.ViewHolder target) {
        mAdapter.onItemMove(viewHolder.getAdapterPosition(), target.getAdapterPosition());
        return true;
    }
}
  1. 确保调用了适配器的notifyItemMoved()方法来通知Recycler View重新排序。
public class MyAdapter extends RecyclerView.Adapter {
 
    private List mItems;
 
    public MyAdapter(List items) {
        mItems = items;
    }
 
    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        // Inflate view and return ViewHolder
    }
 
    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        // Bind data to ViewHolder
    }
 
    @Override
    public int getItemCount() {
        return mItems.size();
    }
 
    public void onItemMove(int fromPosition, int toPosition) {
        Collections.swap(mItems, fromPosition, toPosition);
        notifyItemMoved(fromPosition, toPosition);
    }
 
    static class ViewHolder extends RecyclerView.ViewHolder {
 
        public ViewHolder(View itemView) {
            super(itemView

相关内容

热门资讯

透视游戏!poker worl... 透视游戏!poker world辅助器(透视)其实是有挂(详细辅助扑克教程);1)辅助挂:进一步探索...
透视app!poker wor... 透视app!poker world辅助(透视)总是是真的有挂(详细辅助玩家教你);1、系统规律教程、...
透视透视挂!德普之星app安卓... 透视透视挂!德普之星app安卓版破解版(透视)确实有挂(详细辅助系统教程)1、德普之星app安卓版破...
透视好友!wepoker透视脚... 透视好友!wepoker透视脚本免费下载(透视)好像有挂(详细辅助德州论坛);运wepoker透视脚...
透视教程!wejoker辅助器... 透视教程!wejoker辅助器怎么卖(透视)原来有挂(详细辅助科技教程);软件透明挂微扑克wpk插件...
透视能赢!pokemmo辅助器... 透视能赢!pokemmo辅助器脚本下载(透视)其实真的有挂(详细辅助AI教程)1、系统规律教程、辅助...
透视总结!pokemmo辅助器... 透视总结!pokemmo辅助器脚本下载(透视)一贯是有挂(详细辅助必胜教程)1、透视辅助简单,软件透...
透视app!wejoker手机... 透视app!wejoker手机版透视脚本(透视)都是是有挂(详细辅助曝光教程)1、透视辅助简单,软件...
透视线上!we-poker辅助... 透视线上!we-poker辅助(透视)真是真的是有挂(详细辅助详细教程)1、实时开挂更新:用户可以随...
透视攻略!aapoker怎么开... 透视攻略!aapoker怎么开辅助器(透视)竟然是真的有挂(详细辅助可靠教程)1. ai辅助创建新账...