Intereting Posts
Проблемы с диалоговыми кнопками оповещения в Android L Android – Где хранится база данных SQLite Android-адаптер ListView не обновляется Ошибка: финиш можно вызвать только один раз Могут ли старые жетоны GCM жить даже после удаления? Камера не работает на Android 2.2 Как использовать аппаратное ускорение декодирования видео на Android? Тестирование утечек памяти в приложениях Android Работает ли jFreeChart / дополняет приложение Android 2.x Android Material Design – Как изменить цвет фона панели инструментов после CollapsingToolbarLayout рухнул Только заполнить viewHolder сообщениями, полученными из базы данных? Ошибка android getSharedPreferences: значение карты без атрибута name: boolean Что делает DetailedState.VERIFYING_POOR_LINK для Клавиатура не отображается, когда я нажимаю на edittextview в android? Значок «Дисковод навигации» в правом верхнем углу показывает значок «Стрелка вниз», установленный в значке «Гамбургер»

Как переопределить кнопку панели действий в андроиде?

Вот мой запрос, я хочу настроить кнопку «Назад назад» в панели действий, не нажав кнопку «Назад»? Я переопределяю метод onBackPressed (), который работает с моей кнопкой возврата эмулятора, а не

С кнопкой возврата панели действий.

Я хочу, чтобы это произошло с панелью действий? Как я могу это сделать? Вот мой код

@Override public void onBackPressed() { Toast.makeText(getApplicationContext(),"Back button clicked", Toast.LENGTH_SHORT).show(); return; } 

Я использовал этот тост независимо от того, работает ли он обратно или нет, но фактическое изменение реализации похоже на возврат к предыдущей активности. Но это не работает с кнопкой, присутствующей на панели «Луч» (кроме названия).

Пожалуйста, любой может указать мне проблему.

Solutions Collecting From Web of "Как переопределить кнопку панели действий в андроиде?"

Я думаю, вы хотите переопределить операцию нажатия кнопки «домой». Вы можете переопределить эту функцию в своей деятельности.

 @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: Toast.makeText(getApplicationContext(),"Back button clicked", Toast.LENGTH_SHORT).show(); break; } return true; } 

Если вы хотите, чтобы кнопка возврата ActionBar вела себя так же, как кнопка «Назад»:

  @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == android.R.id.home) { onBackPressed(); return true; } return false; } 

Две вещи, которые следует иметь в виду: пользователь может нажать кнопку «Назад» или нажать кнопку входа в панель действий.
Итак, если вы хотите перенаправить его в тот же пункт назначения, вы можете это сделать.

 @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: onBackPressed(); return true; } return false; } @Override public void onBackPressed() { super.onBackPressed(); Intent intent = new Intent(CurrentActivity.this, NextActivity.class); startActivity(intent); finish(); } 

Это приведет к тому, что пользователь намеревается нажать клавишу или кнопку панели действий.

  @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: finish(); break; } return true; } 

Если вы хотите вернуться к предыдущему экземпляру Activity , нажав кнопку ActionBar home, не обновляя его, вы можете переопределить метод getParentActivityIntent для использования одного из предыдущего стека:

 @TargetApi(Build.VERSION_CODES.JELLY_BEAN) @Override public Intent getParentActivityIntent() { return super.getParentActivityIntent().addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); } 

РЕДАКТИРОВАТЬ:
Также вы можете добиться того же результата
Установив startMode вашей родительской активности на singleTop.
Поэтому установите android:launchMode="singleTop" в родительскую активность в манифесте.
Или вы можете использовать флаг FLAG_ACTIVITY_CLEAR_TOP с намерением UP.
Ссылка: обеспечение навигации