조각을 많이 사용하는 안드로이드 응용 프로그램을 개발 중입니다. 문제가있어 지금까지 해결책을 찾을 수 없었습니다. 흐름은 다음과 같습니다. 앱이 실행되고 MainActivity가 첫 번째 응답자입니다. 이제 사용자 상호 작용에 따라 여러 단편이로드되고 스택으로 푸시됩니다. > 프래그먼트 A - -> 프래그먼트 B -> 단편 C -> 등복원시 안드로이드 리로드 조각 스택
위로 이력과 같이 활성화
주요 활동 :
단편 C -> 단편 B 여기서 은 일례이며 -> 조각 A -> 등.
내 응용 프로그램이 포 그라운드에있는 한 모든 것이 완벽하게 작동하지만 응용 프로그램이 백그라운드에서 실행되면 모든 것이 손상됩니다.
예를 들어 조각 B에 있고 집 버튼을 누르면 응용 프로그램이 백그라운드로 이동하고 다시 복원 할 때 조각 A가있는 MainActivity에서 시작됩니다. 또한 도구 모음에는 조각 B의 제목이 표시됩니다. 조각 A에는 recyclerview가 포함되어 있기 때문에 배경 이미지와 같이 항목 행 사이에 조각 B 부분을 볼 수 있습니다. 응용 프로그램이 복원 될 때
가 가져MyFragment theFragment = new MyFragment();
MainActivity.instance.loadFragment(theFragment, true);
내가 달성하고자하는 것을 : 나는 MainActivity에서와 조각에서이 함수를 호출
public void loadFragment(Fragment fragment, Boolean addToStack) {
// Load fragment
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.frame_container, fragment);
fragmentTransaction.addToBackStack(null);
// show back button
if (addToStack) {
// Code to show the back button.
}
else if (fragmentManager.getBackStackEntryCount() > 0 && !addToStack) {
hideBackButton();
fragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
}
fragmentTransaction.commitAllowingStateLoss();
}
:
이 내가 조각을로드하는 방법입니다 이전에로드 된 조각으로 직선적으로 이동하여 전체 "이전"기록을 유지합니다. 어떻게해야합니까?
코드의 다른 부분이 필요한지 확실하지 않지만 필요한 경우 게시 할 예정입니다.
답장을 보내 주셔서 감사합니다. 그러나 제대로 작동하지 않습니다. 내 조각의 onResume에는 getSupportFragmentManager()에 대한 액세스 권한이 없습니다. 나는 또한 getFragmentManager(). findFragmentByTag ("tag_here") 및 getChildFragmentManager(). findFragmentByTag ("tag_here")를 시도했지만 그들은 매번 null을 리턴한다. 당신의 접근 방식에 대해 좀 더 알려주시겠습니까? – Luca