Проблема с взаимодействием при пролистывании Android: кнопки внутри пролистываемого представления не реагируют должным оAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с взаимодействием при пролистывании Android: кнопки внутри пролистываемого представления не реагируют должным о

Сообщение Anonymous »


В настоящее время я реализую в Android параметры обновления/удаления с помощью пролистывания и столкнулся с проблемой в своем коде. Я использую SwipeHelper, чтобы включить пролистывание по строкам списка, и хотя функция пролистывания работает, я столкнулся с проблемой с кнопками внутри прокручиваемого представления. Они не вызывают никаких событий щелчка, а вместо этого любое действие по щелчку приводит к тому, что строка списка возвращается в исходное положение.

Я пробовал использовать recyclerView.adapter?.notifyDataSetChanged() после пролистывания, и хотя это приводит к тому, что события кнопки запускают действия по щелчку, это приводит к сбою в поведении пролистывания. Иногда действие смахивания закрывается, а иногда оно не вызывает никаких действий по закрытию смахивания, независимо от того, насколько сильно я пытаюсь провести его обратно.

Мне нужна помощь, чтобы понять, что может быть причиной этой проблемы и как ее решить.
класс RecyclerSwipeHelper( частный вал recyclerView: RecyclerView, ) : ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT) { в этом { } переопределить удовольствие onMove( recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder, цель: RecyclerView.ViewHolder ): Логическое значение { вернуть ложь } переопределить удовольствие onSwiped(viewHolder: RecyclerView.ViewHolder, направление: Int) { // recyclerView.adapter?.notifyDataSetChanged() /* Это тоже не работает */ /* привязка val = LayoutHistoryDetailItemBinding.bind(viewHolder.itemView) привязка.применить { itemHistoryAdd.setOnDebouncedClickListener { itemUpdateAction(item.productSku, true) } } */ } переопределить удовольствие onChildDraw( в: Холст, recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder, dX: Плавающее, дЯ: Плавать, состояние действия: Int, isCurrentlyActive: логическое значение ) { привязка val = LayoutHistoryDetailItemBinding.bind(viewHolder.itemView) val isCanceled = dX == 0f && !isCurrentlyActive если (isCanceled) { super.onChildDraw(c, recyclerView, viewHolder, dX, dY, actionState, false) привязка.itemHistoryUpdateLayout.visibility = View.GONE возвращаться } привязка.itemHistoryUpdateLayout.visibility = View.VISIBLE getDefaultUIUtil().onDraw(c, recyclerView,binding.itemHistoryUpdateLayout, dX/2, dY, actionState, isCurrentlyActive) } }
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»