У меня возникают большие проблемы с моим текущим приложением. Кажется, что невозможно просто выполнить какое-либо действие над кнопкой при развертке поиска. Я пробовал всевозможные методы, такие как onBackPressed() или логический onKeyDown. Ничего не получилось. Я также попробовал андроид: parentActivity на манифесте, никаких результатов.Как реализовать действие BackButton на Android
У вас есть идея? Дело в том, что каждый раз, когда я нажимаю увеличительное стекло, чтобы начать поиск, кнопка «Назад» больше не работает, пока я не закрою окно поиска вручную.
Вот мой код.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Indica el layout (pantalla) de esta activity, clase.
setContentView(R.layout.activity_pantalla_principal_administrar);
searchview = (SearchView) findViewById(R.id.searchView);
searchview.setOnClickListener(this);
Тогда я попробовал это двумя способами
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) { //MEJORAR ESTO
if (keyCode == KeyEvent.KEYCODE_BACK) {
searchview.onActionViewCollapsed();
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public void onBackPressed(){
if (!this.searchview.isIconified()) {
searchview.onActionViewCollapsed();
invalidateOptionsMenu();
} else {
super.onBackPressed();
}
}
и, наконец, вот XML кусок
<SearchView
android:layout_width="match_parent"
android:layout_height="63dp"
android:id="@+id/searchView"
android:queryHint="Servicio"
android:iconifiedByDefault="true"
android:backgroundTint="@color/Negro"
android:layout_marginRight="0dp"
android:clickable="true" />
Спасибо, но нет. Все еще не работает. Я пробовал ваш метод, и теперь он даже не заканчивает() активность при закрытии поискового запроса. – Razvi
Можете ли вы опубликовать весь макет файла SearchView :) –
Конечно, я отвечу на свой вопрос, чтобы вы могли его увидеть :) Благодарим за помощь. – Razvi