Включение режима выбора трекера для выбора вида рециркулятора только при длительном нажатии - PullRequest
0 голосов
/ 15 января 2020

Создал просмотрщик и добавил recyclerview-selection 1.0.0 для отслеживания выбора, реализация трекера выбора работает нормально, за исключением того факта, что простой щелчок / касание в режиме просмотра переработчика запускает выбор. У меня сложилось впечатление, что трекер из коробки позволяет режим выбора только тогда, когда пользователь долго нажимает на разрешенную строку повторного просмотра, как я могу предотвратить запуск режима выбора при нажатии строки? Я пробовал следующее безрезультатно

selectionTracker = new SelectionTracker.Builder<>("connection_selection",
            recyclerView,
            new TransactionHistoryListAdapter.KeyProvider(adapter),
            new TransactionHistoryListAdapter.DetailsLookup(recyclerView),
            StorageStrategy.createStringStorage())
            .withSelectionPredicate(SelectionPredicates.<String>createSelectAnything())
            .withOnItemActivatedListener(new OnItemActivatedListener<String>() {
                @Override
                public boolean onItemActivated(@NonNull ItemDetailsLookup.ItemDetails<String> item, @NonNull MotionEvent e) {
                    return false;
                }
            })
            .withOnDragInitiatedListener(new OnDragInitiatedListener() {
                @Override
                public boolean onDragInitiated(@NonNull MotionEvent e) {
                    Log.d(TAG, "onDragInitiated");
                    return true;
                }

            })
            .build();
    adapter.setSelectionTracker(selectionTracker);

1 Ответ

0 голосов
/ 31 марта 2020

в вашей реализации ItemDetailsLookup.ItemDetails установите inSelectionHotspot в false. Это предотвращает выбор одним нажатием.

override fun inSelectionHotspot(s: MotionEvent): Boolean = false 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...