2013-02-27 8 views
0

У меня есть фрагмент, который имеет контекстное меню, которое в свою очередь, вызывает еще один фрагмент:Фрагмент навигации на кнопку назад

switch (item.getItemId()) 
      { 
case MENU_EDIT: 
       FragmentTransaction ft =getActivity().getFragmentManager().beginTransaction(); 
       PlayListDetailsView fragment=new PlayListDetailsView(); 
       //fragment.getArguments().putLong("id", (Long)info.id); 
       ft.add(android.R.id.content, fragment); 
       ft.attach(fragment); 
       ft.commit(); 
} 

Новый фрагмент открывает нормально, но как только я нажимаю назад приложение полностью выходит Withour вернуться к из которого он был вызван. Также комментируемый линия попытки добавить информацию расслоения терпит неудачу и не может быть восстановлен в фрагменте под названием Предложить исправление пожалуйста :)

ответ

2

Прежде всего фрагментов должны общаться через деятельность, а не непосредственно: http://developer.android.com/training/basics/fragments/communicating.html

Что касается вашего вопроса:

  1. Для обратно ключ работать должным образом, вы должны добавить операцию резервного стека, поставить это перед тем совершить:

    ft.addToBackStack("playlistdetails"); 
    
  2. Аргументы должны быть добавлены, как это:

    Bundle args = new Bundle(); 
    args.putLong("id", (Long)info.id); 
    fragment.setArguments(args); 
    
Смежные вопросы