Intereting Posts
Как добавить две новые колонки для Android SQLite Database? Класс панели инструментов Android не найден Установка камеры и ширины телефонной камеры Ионная / кордовая судо-ионная платформа добавляет андроид не работает Загружено APK в Play Store, получено 0 поддерживаемых устройств, но нет ошибок Как установить правый край ящика навигатора? OnSaveInstanceState () и onRestoreInstanceState () Android GCM: другой способ обработки push в зависимости от того, видимо ли приложение или нет Приложение Android NDK не может ударить по любой точке останова Программируемое подключение к Bluetooth-гарнитуре из приложения для Android Параметры android getSpans Использование Xtend для разработки Android (снова) BluetoothGatt: согласование нового MTU преуспевает, но новый размер не может быть использован (разница в 3 байта) PhoneGap – принудительная ориентация ландшафта Отправка данных с Android на сервер с данными JSON

События касания ActionMode передаются на панель инструментов

В своей деятельности я использую Toolbar (из appcompat) с помощью spinner вместо заголовка (определенного в xml). Активность не является ActionBarActivity поэтому я не использую ее как supportActionBar

Когда происходит выбор, я запускаю actionMode , который имеет actionMode над панелью инструментов.

Однако нажатие на название actionMode открывает раскрывающееся меню основного Spinner. Как я могу «поймать» события касания на заголовке actionMode, чтобы остановить их на панели инструментов?

Одним из простых решений было бы поставить yourspinner.setClickable(false); При открытии actionMode и yourspinner.setClickable(true); Когда он закрыт.

РЕДАКТИРОВАТЬ

Вы также можете попытаться переопределить метод actionMode onActionItemClicked чтобы вернуть true

https://developer.android.com/reference/android/support/v7/view/ActionMode.Callback.html#onActionItemClicked(android.support.v7.view.ActionMode , android.view.MenuItem)

Вы можете попробовать перегрузить onTouchEvent вашей панели инструментов. Если ваш actionMode имеет значение true, будет отправлено значение true, и цепочка touchEvent будет остановлена.

 mToolbar.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { return actionMode; } }); 

Я надеюсь, что это помогает.