탐색 구성 요소를 사용하여 다른 조각으로 이동 한 후 ImageView의 카메라에서 내 이미지가 사라지면 정상입니까?

Nov 29 2020

카메라를 사용하여 이미지를 캡처하려고 시도하면 이미지 결과가 아래 코드와 같은 fragmentA의 내 ImageView에 배치되므로 서버에서 이미지 경로를 가져 오지 않고 Glide Library를 사용하여 ImageView에 배치합니다. 카메라.

val image_uri = Uri.fromFile(photoFile)
photoImageView.setImageURI(image_uri)

그런 다음이 코드를 사용하여 다음 목적지로 이동합니다 (fragmentA에서 fragmentB로).

val toFragmentB = AFragmentDirections.actionGlobalBFragment()
findNavController().navigate(toFragmentB)

하지만 FragmentA로 돌아 가면 ImageView의 이미지가 사라집니다. 나는 onDestroyFragmentB로 이동할 때 FragmentA가 호출되지 않는다고 믿습니다 . 이게 정상인가요?

이 문제를 해결하려면 이미지를 유지하려면 먼저 ViewModel에 이미지를 '저장'해야합니까? 내가 맞아?

답변

esentsov Dec 01 2020 at 03:14

아웃 확인 조각의 라이프 사이클을 특히 보고 조각 라이프 사이클의 흐름 . 당신이 조각 밖으로 탐색 할 때, 그것은 전환이다 CREATED(그래서 상태 onPauseonStop불린다), 그러나 보기를 파괴한다 (그리고 onDestroyView이라고합니다). 다음에이 조각으로 돌아갈 때 뷰 계층 구조가 다시 생성됩니다 (사용자 onCreateView가 호출 됨). 따라서 이미지 URL을 이미지보기로 다시 설정해야합니다.