2013-08-09 2 views
0

빠른 질문이 있습니다. 컨테이너에서 조각 A를 제거하고 조각 B를 추가하면 조각 A의 상태가 손실됩니다.Android 제거 조각

사용자가 사진을 찍는 부분 (조각 A)이 있는데, 조각 A를 숨기고 부분 B를 표시하거나 생성하여 사용자가 이미지를 검토 할 수있게했습니다. 조각 B에서 사용자는 그림을 다시 찍을 수 있습니다.이 경우 조각 B를 제거하고 조각 A를 표시했습니다. 문제는 카메라 미리보기가 다시 초기화되지 않아서 사용자가 미리보기를 얻지 못하는 것이 었습니다 또 다른 사진 찍기. 나는 그림을 찍을 때 컨테이너에서 단편 A를 제거하여 이것을 해결했다.

문제는 대부분을 탐색 할 때 상태를 유지해야하는 대부분의 조각이 있으며 표시 및 숨기기 상태를 알고 있지만 '특별한 경우 시나리오'를 갖고 싶지 않습니다. 프래그먼트 A와 B를 대체하고 프래그먼트 C, D, E, F를 표시하고 숨 깁니다.

답변

1

프래그먼트를 제거하거나 대체하고 백 스택에 트랜잭션을 추가하면 다음과 같은 프래그먼트가 생성됩니다. 제거됨 (중지되지 않음). 조각을 복원하기 위해 다시 탐색하면 다시 시작됩니다. 트랜잭션을 백 스택에 추가하지 않으면 제거되거나 대체 될 때 조각이 삭제됩니다. 사용자가 조각 트랜잭션을 역방향으로 탐색 할 수있게하려면 FragmentTransaction을 커밋하기 전에 addToBackStack()을 호출해야합니다.

+0

정보를 제공해 주신 것에 감사드립니다. 불행히도 제가 조각을 다시 만들면 검은 화면이 나타납니다. –