조각을 사용하여 타블렛에 최적화 된 응용 프로그램을 만들고 있습니다. 화면의 나머지 부분을 차지하는 두 개의 ViewGroup 컨테이너에 어떤 조각이로드 될지를 제어하는 버튼이있는 왼쪽 탐색 메뉴가 있습니다.방향 변경시 조각을 메모리에 유지하는 방법
예를 들어 탐색 조각의 버튼을 누르면 첫 번째 컨테이너에 항목 목록 조각 (예 : 설정, 고객 등)이로드되고 두 번째 컨테이너에는 항목 세부 정보를 표시하는 조각이로드됩니다 .
메모리에서 조각을 유지하려고하므로 (설정에서 고객으로 이동 한 다음 설정으로 돌아갈 때 이전 설정 조각이 있어야 사용자가 원래 위치를 잃지 않습니다) - I
SettingsListFragment settingsListFragment;
SettingsDetailFragment settingsDetailFragment;
CustomerListFragment customerListFragment;
CustomerDetailFragment customerDetailFragment;
필자는 필 요할 때 이러한 조각을 만들고 필요에 따라 조각을 바꿉니다. 예.
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
if(settingsListFragment == null){
settingsListFragment = new SettingsListFragment();
}
fragmentTransaction.replace(R.id.fragment_container_left, settingsListFragment);
fragmentTransaction.commit();
제 질문은 방향 변경에 따라 이러한 인스턴스를 어떻게 유지할 수 있습니까?
나는, ... 이것은 당신이보기를 통과해서는 안 의미) "당신이 onRetainNonConfigurationChange (통과 물체에 매우주의 때문에 나는 http://developer.android.com/resources/articles/faster-screen-orientation-change.html에 따라 활동 onRetainNonConfigurationInstance() 메소드를 사용하지 말아야 겠지 드로어 블 Drawable, 어댑터 등 "
는 또한, 조각 관리자에서 Fragment clf = fragmentManager.findFragmentByTag("CLIENT LIST");
을 조각을 얻기 위해 시도했지만이 널 (null)로 돌아옵니다. 프래그먼트가 대체 된 후에 릴리즈되는 것 같습니다.
도움/조언을 보내 주셔서 감사합니다.