2013-08-05 3 views
3

У меня есть приложение с одним Управлением, которое использует ящик меню для навигации. Каждый раз, когда нажимается элемент в ящике меню, я заменяю фрагмент, показывающий новый, и добавляю его в стопку. Скажем, у меня есть 4 пункта меню, A B C D E, с их закрепляющими фрагментами. Если пользователь открывает A, он попадает в заднюю часть, если пользователь затем нажимает B, а затем A снова, задняя сторона выглядит так: A -> B -> A, а фрагмент A виден.Android backstack с меню ящика

Когда пользователь теперь перемещается назад с помощью кнопки «Назад», отобразится первый фрагмент B. Если пользователь снова вернется, он снова увидит фрагмент A (который он только что увидел перед тем, как увидеть B). В операторе backstack пользователь должен перейти от B из приложения, а не к A снова, потому что именно там он и появился.

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

Пожалуйста, не стесняйтесь спросить, не понимаете ли вы, что я имею в виду.

+1

привет, вы понять это? Я столкнулся с той же проблемой сейчас :( –

+0

Я просто закончил все это вручную, всегда отслеживая стек. – AlexanderNajafi

ответ

0

Пример кода: -

 Fragment newFragment; 
     FragmentTransaction transaction = getFragmentManager().beginTransaction(); 
     newFragment = new MyFragment(); 
     transaction.replace(R.id.content_frame, newFragment); 
     transaction.addToBackStack(null); 
     transaction.commit(); 

Если вы упомянули следующую строку в коде затем удалить это: -

  transaction.addToBackStack(null); 
Смежные вопросы