Как изменить функцию кнопки «Назад» в Android (фрагмент)

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

Я бы реализовал простую функцию, которая позволяет пользователю вернуться к предыдущему фрагменту при нажатии кнопки «Назад», например:

[Основной фрагмент] ----> [2-й фрагмент] [2-й фрагмент] ‹---- [Основной фрагмент]

Я прочитал такой вопрос, но я не понимаю, как решить мою проблему.

/**
     * Diplaying fragment view for selected nav drawer list item
     * */
    private void displayView(int position) {
        // update the main content by replacing fragments
        Fragment fragment = null;
        switch (position) {
        case 0:
            fragment = new HomeFragment(getApplicationContext());
            break;
        case 1:
            fragment = new FindPeopleFragment();
            break;
        case 2:
            fragment = new PhotosFragment();
            break;
        case 3:
            fragment = new CommunityFragment();
            break;
        case 4:
            fragment = new PagesFragment();
            break;
        case 5:
            fragment = new WhatsHotFragment();
            break;

        default:
            break;
        }

Это часть моего кода, где я называю «новый фрагмент». Когда я запускаю свое приложение, создается новый фрагмент (HomeFragment), в этом фрагменте я создаю новый фрагмент (Fragment_Detail).

Я хочу вернуться из Fragment_Detail в HomeFragment.

Я надеюсь, что я был объяснительным


person Community    schedule 08.10.2014    source источник


Ответы (2)


Просто добавьте addToBackStack(null). Он автоматически перейдет к предыдущему фрагменту, загруженному в стек.

 HomeFragment  fragment = new HomeFragment();
                FragmentManager manager = getSupportFragmentManager();
                manager.beginTransaction()
                        .replace(R.id.content, fragment,TAG)
                        .commit();

Обратитесь к addToBackStack() и см. этот ответ. См. документы.

person Akshay Mukadam    schedule 08.10.2014
comment
R.id.content что это? - person ; 08.10.2014
comment
Это идентификатор макета, в котором он будет размещен, второй параметр — ваш фрагмент, а третий параметр — ваш тег, по которому вы можете его однозначно идентифицировать. - person Akshay Mukadam; 08.10.2014

Вам следует взглянуть на пример: http://developer.android.com/training/implementing-navigation/temporal.html#back-fragments

person MillaresRoo    schedule 08.10.2014