Java 如何禁止通过滑动删除RecyclerView中的特定类型的元素(我希望元素不移动)?

Java 如何禁止通过滑动删除RecyclerView中的特定类型的元素(我希望元素不移动)?,java,android,Java,Android,我在RecyclerView中有两种类型的项目:Tier=0和Row=1;我只想用刷子删除“行”。当然,简单地禁止并不成问题。以及如何消除转换接口上元件移位的可能性 ItemTouchHelper helper = new ItemTouchHelper( new ItemTouchHandler(0, ItemTouchHelper.LEFT) ); helper.attachToRecyclerView(rec

我在RecyclerView中有两种类型的项目:Tier=0和Row=1;我只想用刷子删除“行”。当然,简单地禁止并不成问题。以及如何消除转换接口上元件移位的可能性

ItemTouchHelper helper = new ItemTouchHelper(
            new ItemTouchHandler(0,
                    ItemTouchHelper.LEFT)
    );

    helper.attachToRecyclerView(recyclerView);
阶级本身

private class ItemTouchHandler extends ItemTouchHelper.SimpleCallback {

    public ItemTouchHandler(int dragDirs, int swipeDirs) {
        super(dragDirs, swipeDirs);
    }

    @Override
    public boolean onMove(@NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder, @NonNull RecyclerView.ViewHolder target) {
        int from = viewHolder.getAdapterPosition();
        int to = target.getAdapterPosition();

        Collections.swap(recyclerAdapter.getMoviesList(), from, to);
        recyclerAdapter.notifyItemMoved(from, to);


        return true;
    }

    @Override
    public void onSwiped(@NonNull RecyclerView.ViewHolder viewHolder, int direction) {

        recyclerAdapter.deleteRow(viewHolder.getAdapterPosition());
        
    }
这是在删除适配器中的项目:

public void deleteRow(int position) {

    moviesList.remove(position);
    notifyDataSetChanged();

}
就我而言

@Override
    public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
        int dragFlags = 0;
        int swipeFlags = 0;
        if(recyclerAdapter.getMoviesList().get(viewHolder.getAdapterPosition()).getType()==Element.TYPE_TIER) {

            swipeFlags = 0;
        } else {
            swipeFlags = ItemTouchHelper.LEFT;
        }
        return makeMovementFlags(dragFlags, swipeFlags);
    }