小编Kal*_*aly的帖子

Android ItemTouchHelper.SimpleCallback获取滑动方向

我已实施滑动以退出我的recyclerview。触发两个功能(编辑记录和删除)。如果向左滑动,则对其进行编辑;如果向右滑动,则将其删除。我在recyclerview项目的常规部分下有这样的布局

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#fe5722">

    <ImageView
        android:id="@+id/edit_icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_centerVertical="true"
        android:layout_marginStart="24dp"
        android:src="@mipmap/ic_mode_edit_white_24dp" />

    <ImageView
        android:id="@+id/delete_icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_centerVertical="true"
        android:layout_marginEnd="24dp"
        android:src="@mipmap/ic_delete_white_24dp" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

因此,如果向左滑动(删除项目),则左图标(用于编辑)应一直隐藏到滑动结束为止。但是,我不知道如何在ItemTouchHelper.SimpleCallback类中获得滑动方向。请帮忙。

RecyclerItemTouchHelper.java

public class RecyclerItemTouchHelper extends ItemTouchHelper.SimpleCallback {
private RecyclerItemTouchHelperListener listener;
private ImageView imageView;

public RecyclerItemTouchHelper(int dragDirs, int swipeDirs, RecyclerItemTouchHelperListener listener) {
    super(dragDirs, swipeDirs);
    this.listener = listener;
}

@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
    return true;
}


@Override
public void onSelectedChanged(RecyclerView.ViewHolder viewHolder, int actionState) {
    if (viewHolder != null) {
        final View …
Run Code Online (Sandbox Code Playgroud)

android swipe itemtouchhelper

5
推荐指数
1
解决办法
3533
查看次数

标签 统计

android ×1

itemtouchhelper ×1

swipe ×1