Intereting Posts
Android вращает анимацию между двумя действиями? Версия Android C # Console.WriteLine? Не удается отправить или получить присутствие с ASmack Android VideoView BandWidth Как технология push-уведомлений работает на Android? Espresso – Выполнение действия не работает в полноэкранном режиме – InjectEventSecurityException Java.lang.SecurityException при установке apk Ошибка при создании подписанного apk Добавление строки в ListView, которая отображает «Загрузка» во время загрузки информации. Как на рынке DatePicker не работает при попытке использовать его Контекстное меню в Fragment использует ListView из другого фрагмента: registerForContextMenu (getListView ()) Как анимировать маркер, когда он добавляется для отображения на Android? В чем разница между паролем хранилища ключей и паролем ключей в Android Sign Certification? Повторное использование SSL-соединения с Android HttpClient Является ли плохой практикой иметь только одно действие в вашем приложении для Android, которое использует фрагменты?

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

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

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

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

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

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

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

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

 @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.
Ссылка: обеспечение навигации