#android #searchview #onbackpressed
#Android #searchview #onbackpressed
Вопрос:
В моем приложении есть два вида поиска, один под другим. Когда я разворачиваю два вида поиска и пытаюсь закрыть SearchViews, нажав на кнопку возврата устройства. Затем курсор перемещается со второго вида поиска на первый и с первого вида поиска на второй всегда. Но onBackPressed
не запускается вообще.
override fun onBackPressed() {
if (!searchViewOne.isIconified) { // It is not triggering here on back press
// TODO something here
}
}
Проблема:
onBackPressed
не запускается, когда SearchViews активны
Ожидание: хотите закрыть оба SearchViews
onBackPressed
Примечание: это происходит только в ОС Android 6.0 (API <= 23) и ниже. Выше 6.0 он работает так, как ожидалось.
Есть идеи, как это исправить?
Комментарии:
1. как вы запускаете событие onbackpress?
2. @WahdatKashmiri обновил мой вопрос
3. как насчет использования onActionViewCollapsed();? developer.android.com/reference/android/widget /…
4. @ST Проблема заключается в том, что пользователь нажимает на кнопку возврата устройства. В этом случае это не сработает
Ответ №1:
Итак, я исправил это, введя isFocusable
false
в init поисковые представления.
searchViewOne.isFocusable = false
searchViewTwo.isFocusable = false
Теперь onBackPress
запускается, и проблема решена.