Как отменить View.OnDragListener в android во время перетаскивания операции?

Im, используя view.startDrag() чтобы начать операцию перетаскивания. При перетаскивании события принимаются в OnDragListener . Также im используя DragShadowBuilder чтобы показать последний образ View B при перетаскивании.

Есть ли способ остановить или отменить или прервать перетаскивание из некоторых внешних событий или операций? Например, есть 2 вида, View A и View B , я перетаскиваю View B over View A При перетаскивании из-за какого-либо внешнего события или операции я хочу отменить операции перетаскивания или отменить OnDragListener (не удаляя мой палец из view B ).

Фрагмент кода для DragShadowBuilder :

 DragShadowBuilder shadowBuilder = new DragShadowBuilder(view) { @Override public void onDrawShadow(Canvas canvas) { canvas.drawBitmap(b, 0, 0, new Paint()); super.onDrawShadow(canvas); } }; boolean dragSuccess = false; dragSuccess = view.startDrag(null, shadowBuilder, view, 0); 

Фрагмент кода для OnDragListener :

 private final class ViewDragListener implements OnDragListener { @Override public boolean onDrag(View v, DragEvent event) { int action = event.getAction(); switch (event.getAction()) { case DragEvent.ACTION_DRAG_STARTED: log("ACTION_DRAG_STARTED"); break; case DragEvent.ACTION_DRAG_ENTERED: log("ACTION_DRAG_ENTERED"); break; case DragEvent.ACTION_DRAG_EXITED: log("ACTION_DRAG_EXITED"); case DragEvent.ACTION_DROP: log("ACTION_DROP"); mX = (int) event.getX(); mY = (int)event.getY(); break; case DragEvent.ACTION_DRAG_ENDED: log("ACTION_DRAG_ENDED"); //Doing some cleanup operations. break; case DragEvent.ACTION_DRAG_LOCATION: log("ACTION_DRAG_LOCATION"); break; default: break; } return true; } } 

Я не мог найти никакого трюка для этого. Я попытался отправить событие движения ACTION_UP и ничего не сделал. До тех пор, пока палец пользователя удерживается нажатым, нет никакого прерывания иерархии событий, похоже. Я не нашел ничего, чтобы помочь с поиском google.

Я просто установил глобальность и дождался, пока сопротивление не закончится, а затем продолжилось.

Intereting Posts
Получить дочернее имя класса от родителя Facebook SDK 4.x Android Опубликовать в Facebook Страница Получение уровня масштабирования карты для заданных границ на Android, например, на API API Google Maps: map.getBoundsZoomLevel (bounds) Создание масштабируемого / панорамного контейнера Android RecyclerView Adapter Количество элементов возвращается 0 при модульном тестировании Как запустить команду терминала в приложении Android? Одновременно запускайте несколько ViewPropertyAnimators Как вызвать эффект пульсации на Android Lollipop в определенном месте в представлении, не вызывая прикосновения событий? Перекрытие панели инструментов ниже строки состояния Скрытие нижнего колонтитула в ListView ListView показывает только один элемент Скрыть приложение для Android в режиме длительного нажатия-HOME-button-menu Программно создайте глянцевую 3d-кнопку Тестирование использования батареи Поддерживать более одного файла общих предпочтений в android