2015-09-10 3 views
0

У меня есть следующая проблема. Мое приложение имеет 2 фрагмента, первый, который выполняется, показывает список элементов, когда вы нажимаете на элемент, показывает фрагмент детали. У меня также есть NavigationDrawerActivity со следующими методами обработки стека фрагментов.Сохраните тот же экземпляр фрагмента при конфигурации Изменить

private void changeFragment(int pos, Fragment fragment, boolean addToBackStack) { 


     Fragment f = getSupportFragmentManager().findFragmentByTag(String.valueOf(pos)); 
     FragmentManager fragmentManager = getSupportFragmentManager(); 
     FragmentTransaction ft = fragmentManager.beginTransaction(); 
     mCacheServices.setmFragmentTag(String.valueOf(pos)); 
     ft.replace(R.id.container, fragment, String.valueOf(pos)); 

     if ((addToBackStack)) { 
      ft.addToBackStack(STACK_KEY); 
     } 
     ft.commit(); 

} 

Проблема я столкнулся, когда я нахожусь в DetailFragment, и я rotete устройство, оно идет к фрагменту ITEMLIST, который является пихта фрагмент excuted приложением. Что я могу сделать, чтобы наложить на DetailFragment, когда я вращаю устройство?

Спасибо!

ответ

0

вы можете сохранить состояние фрагмента, а затем повторно создать его. Пройдите через это для более подробной информации

http://developer.android.com/guide/topics/resources/runtime-changes.html

надеюсь, что это помогает.

+0

Я пробовал с setRetainInstance (true); но метод changeFragment вызывается в любом случае, и он снова устанавливает фрагмент списка объектов. – maxi182

+0

Я добавил android: configChanges = "orientation | screenSize" в манифесте для активности drawer, где фрагменты контейн. эта практика в порядке? – maxi182

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