2014-04-14 3 views
0

안녕하세요 저는 조각을 사용하고 스택을 뒤로 밀고있는 안드로이드 응용 프로그램을 개발 중입니다. 그래서 제 시나리오는 조각 A, B, C, D를 가지고 있으며 A -> B -> C -> D 순서로 밀어 넣고 원하는 것은 D와 C를 제거하고 B를 가져오고 싶습니다. 위에. 모든 것을 함께 제거하고 특정 조각을 스택 맨 위에 가져 오는 방법이 있습니까? xyz 프래그먼트 태그까지 백 스택의 팝을 좋아해라. 이것을 할 수있는 방법이 있습니까? 고맙습니다.스택 안의 특정 조각까지 모든 조각을 제거하십시오.

답변

2

당신이 원하는 : FragmentManager.popBackStack(int id, int flags) 당신은 조각 B. 그런 다음 나중에 getFragmentManager().popBackStack(commitId, 0)를 호출 추가 트랜잭션의 FragmentTransaction.commit()에 의해 반환 된 값을 저장해야

;

+0

빠른 재생을 부탁드립니다. googles 문서에서이 방법을 확인했습니다. 그러나 나는 그 사용법을 올바르게 이해할 수있다. 어떻게 작동하는지 설명해 주시겠습니까? 도와 주셔서 감사합니다 ... – nilkash

+0

물론입니다. 첫 번째 인수는 정수 ID입니다. 'FragmentTransaction.commit()'은 정수 값을 반환합니다. 이 값은'popBackStack (id, flags)'를 호출 할 때 사용할 ID입니다. 코드 B에서 액티비티에 Fragment B를 추가하는 트랜잭션을 찾고 commit()에 의해 반환 된 값을 저장했는지 확인하십시오. 두 번째 인수는 FragmentManager에게 트랜잭션 만 ID (배타적)로 다시 표시할지 또는 ID를 팝하여 (조각 포함) A를 다시 표시할지 여부를 알려주는 플래그입니다. 배타적을 지정하려면 0을 전달합니다. – Karakuri