제가현재 단편과 현재 단편을 제외한 현재 단편에서 모든 단편을 어떻게 제거합니까?
이F1 -> F2 -> F3 -> F4 -> F5
같은 프래그먼트 스택 이제 F2, F3, F4 조각을 제거 할 필요가있다.
F5 조각에서 뒤로 버튼을 누르면 F1으로 이동해야합니다.
참고 : 작업에서 조각 조각을 변경하지 않습니다. 조각에서 조각 변경.
제가현재 단편과 현재 단편을 제외한 현재 단편에서 모든 단편을 어떻게 제거합니까?
이F1 -> F2 -> F3 -> F4 -> F5
같은 프래그먼트 스택 이제 F2, F3, F4 조각을 제거 할 필요가있다.
F5 조각에서 뒤로 버튼을 누르면 F1으로 이동해야합니다.
참고 : 작업에서 조각 조각을 변경하지 않습니다. 조각에서 조각 변경.
파괴시에 Fragment
F5
클리어 Back Stack
개까지 F2
. 이 같은
시도 뭔가 : 당신의 MainActivity
에
public
방법 : 당신의 F5
조각 지금
public void clearBackStackInclusive(String tag) {
getSupportFragmentManager().popBackStack(tag, FragmentManager.POP_BACK_STACK_INCLUSIVE);
}
:
@Override
public void onDestroy() {
super.onDestroy();
((MainActivity)getActivity()).clearBackStackInclusive("tag"); // tag (addToBackStack tag) should be the same which was used while transacting the F2 fragment
}
플래그를 사용하여 작업을 관리 할 수 있습니다. 예를 들어 집 상단에있는 모든 활동을 취소합니다.
Intent intent = new Intent(getApplicationContext(), Home.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent)
홈 활동에서 4 개 또는 5 개 이상의 작업을 시작하면 5 번째 작업을 마치고 집으로 돌아갈 수 있습니다.
조각 버전을 기대하지만 작업 관리 방법에 따라 다릅니다.
편집
나는 조각을 위해 그것을 발견 명명 된 하나까지 모든 상태를 나타납니다
FragmentManager.popBackStack(String name, FragmentManager.POP_BACK_STACK_INCLUSIVE)
합니다.
그럼 당신은 달성 할 수 이 행동은 모든 생각을 관리하기 위해 F1을 사용합니다. 프로세스를 수행하고 있다고 가정하면 모든 단계가 마지막 답변에 달려 있습니다. 당신이해야 할 일은 F1을 다음 단계로 여는 것보다 F1에 돌아 오는 것입니다. 예 :
1 ° F1에 사람의 전화 번호를 표시 할 대상이 무엇이라고 말합니다.
2 F1 F2로 전화를 걸면 이름을 검색 할 수있었습니다. 사용자가 이름을 F1하는 이름 F2 반환을 선택하고 닫을 때
3 ° F1은 F2보다 이름이 반환이 이름으로 F3를 호출 얻고 F3는별로 공상 수
을 보여 주지만, 적어도 내 경우 근무 나는 비슷한 것을해야했다.