Intereting Posts
Один символ в Base64String содержит сколько байтов? 1, 2 или более Существует ли приемлемый кросс-платформенный метод для отображения цифровой клавиатуры в стандартных веб-формах на сенсорном устройстве? Как показать изображения в режиме просмотра изображений в простом адаптере? Рисовать круг, который заполняется горизонтально в Android OpenId на Android Asynctask doInBackgound () не работает, если уже запущена асинтеза Android Studio – Как настроить формат выходного файла Logcat? 9 патч-изображений масштабируется в неправильном положении Может ли кто-нибудь объяснить метод раздувания? Более глубокое понимание взглядов Android Геокодер getFromLocationName не находит адрес Почему появляется программная клавиатура Android, когда она появляется? Android / Java: доступ к одному объекту DBite SQLite из нескольких действий Ошибка: ресурс не найден, который соответствует указанному имени (в 'теме' со значением '@ style / AppTheme') Трансляция Намерение при изменении даты? StrictMode жалуется, что InputStream не закрывается

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

Вот мой запрос, я хочу настроить кнопку «Назад назад» в панели действий, не нажав кнопку «Назад»? Я переопределяю метод 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.
Ссылка: обеспечение навигации