2015-10-07 2 views
-1

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

+0

вы имеете в виду, чтобы спросить, когда вы снова нажмите на любых фрагментов, как F2 или F3 или F4 или F5 вы должны быть прямо на F1, не так ли? Это то, что вы просите? – Droidwala

ответ

0

Переписать метод onBackPressed() в вашей деятельности:

@Override 
public void onBackPressed(){ 
    FragmentTransactionn ft = getFragmentManager().beginTransaction(); 
    ft.replace([your fragment container], yourfirstFragment, TAG_FRAGMENTFIRST); 
    ft.commit(); 
} 
+0

Несмотря на то, что это отвечает на вопрос, это дает проблему, что пользователи не смогут закрыть приложение, используя обратную кнопку. –

+0

Да, я знаю. Но реализовать это поведение должно быть легко. Если хотите, вы можете улучшить свой код. :) – yennsarah

0

Видимо, вы уже поняли, как показать фрагменты. Я бы предложил использовать тот же код, который вы используете в своем навигационном ящике, в public void onBackPressed(), чтобы снова создать первый фрагмент. Чтобы пользователи могли выйти из приложения, проверьте, что первый фрагмент уже виден. Если да, звоните super.onBackPressed() или finish().

Смежные вопросы