Как отключить пул-апгрейд, когда проведите пальцем по пункту «Переработка»? - PullRequest
0 голосов
/ 17 марта 2019

Я использую обзор утилизатора внутри SwipeRefreshLayout, и когда я начинаю проводить пальцем, чтобы удалить свой элемент просмотра утилизатора, он будет активен для обновления. Я хочу отключить обновление по запросу, когда я запускаю свайп, и это позволяет завершить свайп. И я использовал класс 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);

1 Ответ

0 голосов
/ 17 марта 2019

Вы можете отключить обновление макета в onMove метод

swiperefreshLayout.setEnabled(false);

И затем включите его в onSwiped метод

swiperefreshLayout.setEnabled(true);
...