我有一个RecyclerView和一个工作的ItemTouchHelper。一切都很好,但我想知道是否有一种方法可以将ItemTouchHelper从RecyclerView中分离出来,而无需重新创建列表?为了好玩,这是我用来附加的代码:
ItemTouchHelper.Callback callback = new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT)
{
...
};
mItemTouchHelper = new ItemTouchHelper(callback);
mItemTouchHelper.attachToRecyclerView(mPasswordList);理想情况下,我想在onResume()中检查RecyclerView所驻留的活动的首选项,并在此基础上分离ItemTouchHelper。
发布于 2016-02-11 17:24:41
我最初的动机是让用户能够在列表项目上禁用滑动操作,如果他们愿意的话。我认为这样做的方法是将ItemTouchHelper与RecyclerView分离。我现在发现ItemTouchHelper.SimpleCallback有以下方法可用于覆盖:
@Override
public boolean isItemViewSwipeEnabled()
{
return mSwipable;
}因此,在这里返回正确的状态会有效地关闭滑动处理。我希望这对将来的人有帮助。
发布于 2016-03-27 11:23:52
可以将ItemTouchHelper从RecyclerView中分离出来,方法是将回收视图设置为null:
mItemTouchHelper.attachToRecyclerView(null);发布于 2021-05-14 12:44:18
对我来说,要禁用连接到RecyclerView的整个RecyclerView,只需将其设置为null
mItemTouchHelper = null;若要重新启用,请将其设置为其值。
mItemTouchHelper = new ItemTouchHelper(callback);https://stackoverflow.com/questions/35345520
复制相似问题