Запретить двойное отображение фрагмента диалогового окна нижнего листа при двойном нажатииAndroid

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

Сообщение Anonymous »

Здравствуйте, у меня есть фрагмент диалогового окна нижнего листа, который отображается при нажатии на элемент в представлении переработчика. Реализация нижнего листа показана в адаптере для recyclerview. Проблема, с которой я столкнулся, заключается в том, что когда вы быстро дважды нажимаете на элементы, чтобы отобразить нижний лист, он отображается дважды, есть ли способ ограничить нажатие только одним нажатием или не показывать фрагмент диалогового окна нижнего листа снова, когда он отображается. проверив

Вот как я показываю нижний лист при щелчке по элементу в представлении recyclerview

Код: Выделить всё

@Override
public void onBindViewHolder(@NonNull final MyViewHolder myViewHolder, final int position) {

myViewHolder.cardView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

BottomSheetFragment bottomSheetFragment = new BottomSheetFragment();
Bundle bundle = new Bundle();

bundle.putInt("id",productList.get(position).getId());
bundle.putString("name",productList.get(position).getName());
bundle.putDouble("price",productList.get(position).getPrice());
bundle.putInt("stock",productList.get(position).getStock());
bundle.putInt("quantity",productList.get(position).getQuantity());
bundle.putString("photo",productList.get(position).getPhoto());

bottomSheetFragment.setArguments(bundle);
bottomSheetFragment.show(fragmentManager, bottomSheetFragment.getTag());
}
});

}

Я попробовал использовать ответ Муханнада Фахури, выполнив следующее:

Объявив логическое значение, чтобы показать, отображается ли BottomSheet или нет

Код: Выделить всё

 private boolean isBottomSheetShowing = false;

Реализация на нижнем листе

Код: Выделить всё

if(!isBottomSheetShowing){

isBottomSheetShowing = true;

ItemBottomSheet itemBottomSheet = new ItemBottomSheet();
Bundle bundle = new Bundle();

bundle.putString("code",itemPosition.getCode());
bundle.putString("name",itemPosition.getName());
bundle.putString("description",itemPosition.getDescription());
bundle.putString("upcCode",itemPosition.getUpcCode());
bundle.putString("photoBlob",itemPosition.getPhotoBlob());
bundle.putDouble("discount",itemPosition.getDiscount());
bundle.putDouble("price",itemPosition.getPrice());
bundle.putInt("available",itemPosition.getAvailable());

itemBottomSheet.setArguments(bundle);
itemBottomSheet.show(fragmentManager, itemBottomSheet.getTag());

}else{
isBottomSheetShowing = false;
}

Проблема, возникающая сейчас, заключается в том, что бывает, что ничего не происходит, когда я нажимаю на элемент, а затем, когда я снова нажимаю на элемент, он отображается

Подробнее здесь: https://stackoverflow.com/questions/622 ... double-tap
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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