SlandShow
@SlandShow
70% of my body is made of movies.

Как создать кнопку возврата в ActionBar'е?

Хочу сделать кнопку возврата на предыдущую активность.

Вот так:
65208ed974134dd9b31a4bd250968a54.png

Причём эту кнопку я уже смог получить
a4f52d645eba4b30b147b753fff2fab5.png

1. Создал в папке res папку menu
2. Создал xml-файл

Вот код файла:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:id="@+id/id_profile_add"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="Add" />
    <item
        android:id="@+id/id_delete_all"
        android:orderInCategory="101"
        android:showAsAction="never"
        android:title="Delete All" />

</menu>


Что-то такое и вышло
9ccb72ccf9c04ee0aedb9b818299911b.png

И в нужной активити довавил два метода.
Кнопка a4f52d645eba4b30b147b753fff2fab5.png заработала
@Override
public boolean onCreateOptionsMenu(Menu menu) {
 getMenuInflater().inflate(R.menu.main, menu);
 return true;
}


@Override
public boolean onOptionsItemSelected(MenuItem menuItem) {
 int id = menuItem.getItemId();
 /* Как пример.
 * Функционал добавления записи в БД.
 */
 if (id == R.id.id_profile_add) {
...
 return true;
 }
 if (id == R.id.id_delete_all) {
...
 return true;
 }
 return true;
}


Я так же добавил такой код:
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
и вроде нужная кнопка возврата появилась на экшон баре. Но не знаю как закрепить к ней слушателя :/
  • Вопрос задан
  • 241 просмотр
Решения вопроса 1
artemgapchenko
@artemgapchenko
Вешайте обработчик нажатия на item с id android.R.id.home.
Есть ещё вариант не обработчик вешать, а указать в манифесте родительскую активность - тогда при нажатии на up кнопку у вас будет происходить возврат на родительскую активити безо всякого дополнительного кода.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
goodtimes922
@goodtimes922
Чем вас не устраивает Navigation Drawer?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы