我在SwipeRefreshLayout中使用了recyclerview,当我开始滑动以删除我的回收器视图项时,它将激活拉动刷新。我想在开始滑动时禁用拉动刷新并启用完成滑动。我使用ItemTouchHelper类来检测滑动动作
这是我的.xml文件
<?xml version="1.0" encoding="utf-8"?>
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:id="@+id/swipeRefreshLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
而且,这个Java文件,
new ItemTouchHelper(new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT) {
@Override
public boolean onMove(@NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder, @NonNull RecyclerView.ViewHolder target) {
return false;
}
@Override
public void onSwiped(@NonNull RecyclerView.ViewHolder viewHolder, int direction) {
}
}).attachToRecyclerView(recyclerView);
您可以在onMove
方法中禁用刷新布局
swiperefreshLayout.setEnabled(false);
然后在onSwiped
方法中启用它
swiperefreshLayout.setEnabled(true);