android - Recycler View 元素上的不同滑动方向
问题描述
是否可以实现一个回收器视图,根据条件在不同方向上滑动的元素?我已经做了一些研究,但我没有发现任何关于这个问题的信息。
我目前正在使用 Recycler View,并且附加了 ItemTouchHelper.SimpleCallback。这样我就可以对回收站列表的所有元素执行滑动操作。
我的代码是这样的,我正在使用 getSwipeDirs() 函数来尝试实现我刚刚在问题开始时解释的内容,但它并不完全有效。
ItemTouchHelper.SimpleCallback simpleCallback = new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
@Override
public void onSwiped(@NonNull RecyclerView.ViewHolder viewHolder, int direction) {
int position = viewHolder.getAdapterPosition();
switch (direction) {
case ItemTouchHelper.LEFT:
if(!Boolean.parseBoolean(activitiesList.get(position).get(7))) {
String doneActivityID = activitiesList.get(position).get(0);
DA.markActivityAsDone(doneActivityID, true, seeingDay);
}
break;
case ItemTouchHelper.RIGHT:
if(Boolean.parseBoolean(activitiesList.get(position).get(7))) {
String doneActivityID = activitiesList.get(position).get(0);
DA.markActivityAsDone(doneActivityID, false, seeingDay);
}
break;
}
}
@Override
public int getSwipeDirs(@NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder) {
int position = viewHolder.getAdapterPosition();
Calendar calendar = Calendar.getInstance();
int today = calendar.get(Calendar.DAY_OF_WEEK) - 2;
if (activitiesList.get(position).get(4).equals(getWeekDay(today))) {
if (!Boolean.parseBoolean(activitiesList.get(position).get(7))) {
setDefaultSwipeDirs(ItemTouchHelper.LEFT);
return super.getSwipeDirs(recyclerView, viewHolder);
}
setDefaultSwipeDirs(ItemTouchHelper.RIGHT);
return super.getSwipeDirs(recyclerView, viewHolder);
}
setDefaultSwipeDirs(0);
return super.getSwipeDirs(recyclerView, viewHolder);
}
如果有人能告诉我这是否可能,我将不胜感激,如果可以,请告诉我如何。
谢谢!
解决方案
推荐阅读
- c# - 需要按两次 Enter 键才能转到树列表中的下一个单元格 C# devexpress
- android - 如何从我的设备获取内存类型信息?
- java - Gradle 覆盖默认检查任务
- docker - Kaniko:如何使用 Tekton 在 Kubernetes 中缓存来自 Gatsby 构建的文件夹?
- swift - 如何在swift中调用mac API“添加新事件”?
- python - 不满足可选依赖项:安装 igraph 和 leidenalg 以使用所选功能
- html - 不透明的 GIF 变透明
- arrays - 在 BigQuery 中选择除 ARRAY_AGG + STRUCT 中的一列之外的所有内容
- c - 如果在同一个套接字上设置多个连接,哪个套接字描述符接收数据?
- python - Pandas Dataframe(内部)加入同一个 Dataframe