gpt4 book ai didi

Android - Recycler View 设置项不可滑动

转载 作者:行者123 更新时间:2023-11-29 15:08:56 25 4
gpt4 key购买 nike

我正在使用 RecyclerViewItemTouchHelper.SimpleCallback => onSwiped 方法。回收站 View 中的某些项目正在进行中,我想禁用对它们的滑动。

我该怎么做?

最佳答案

您可以覆盖 getSwipeDirs()在您的 ItemTouchHelper.SimpleCallback 中。当您不希望项目可滑动时返回 0。

此方法的第二个参数是正在滑动的项目的 ViewHolder - 您可以向 ViewHolder 添加一个简单的标志以指示它是否可滑动。

例如:

static class SwipeViewHolder extends RecyclerView.ViewHolder {
public boolean isSwipeable;

public SwipeViewHolder(View itemView) {
super(itemView);
}
}

回调:

static class DragAndSwipeCallback extends ItemTouchHelper.SimpleCallback {

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

@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
// Perform drag
return false;
}

@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
// Remove item
}

@Override
public int getSwipeDirs(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
if (viewHolder instanceof SwipeViewHolder
&& ((SwipeViewHolder) viewHolder).isSwipeable) {
return super.getSwipeDirs(recyclerView, viewHolder);
} else {
return 0;
}
}
}

关于Android - Recycler View 设置项不可滑动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34026005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com