Dan*_*eng 13 android android-recyclerview
我使用带有ItemTouchHelper的RecyclerView进行滑动删除,并在滑动项下添加删除按钮,如下所示:

但是当我完成滑动时,该项目很快就会从列表中删除!如何锁定刷过的项目,并通过单击删除按钮删除?就像Gmail的行为一样.
小智 5
@Override
public void onChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) {
float translationX;
if(dX > 0){
translationX = Math.min(-dX, viewHolder.itemView.getWidth() / 2);
}
else {
translationX = Math.max(dX, (-1)* viewHolder.itemView.getWidth() / 2);
}
super.onChildDraw(c, recyclerView, viewHolder, translationX, dY, actionState, isCurrentlyActive);
}
Run Code Online (Sandbox Code Playgroud)
设置OnClickListeners然后getMovementFlags():
public void onChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) {
if (dX > ARCHIVE_LAYOUT_WIDTH) {
getDefaultUIUtil().onDraw(c, recyclerView, ((YOUR_VIEW_HOLDER) viewHolder).getSwipableView(), dX, dY, actionState, isCurrentlyActive);
}
}
Run Code Online (Sandbox Code Playgroud)
这不是最干净的解决方案,但它会让你更接近。
| 归档时间: |
|
| 查看次数: |
9987 次 |
| 最近记录: |