마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

프레그먼트 안에서 바꿈

0 추천
https://amikim5263.tistory.com/4?category=944537

여기처럼 컨테이너에서 컨텐츠 바꾸고 싶은데 이미 구현한 데에서 하려고 하니 오류가 뜨네요. 처음부터 다 뜯어고칠수 없는상황이라.

 

프레그먼트말고 대안이 없는지 궁금합니다.
enerigpy (2,110 포인트) 님이 2023년 1월 25일 질문

1개의 답변

0 추천
 
채택된 답변
해당 블로그에서 보여주는 방법은 기본적은 Jetpack Navigation Component의 내부 동작과 동일합니다. 한개의 호스트 프레그먼트 내에서 ChildFragmentManager를 가지고 프레그먼트를 교체하는 것이 기본 동작입니다.

제 생각에는 이 방법이 제일 깔끔한 방법같아 보이고, 이게 아니라면 커스텀뷰를 구현하거나 액티비티에 FragmentLayout같은 것을 놓고 프레그먼트를 교체하는 방법이 있습니다. 두번째 방법은 ChildFragmentManager 대신에 FragmentManager를 사용해서 비슷하게 구현을 할 수 있을 겁니다.

블로그에 나온 방법대로 구현할 경우는, Navigation Component를 사용하는 것이 코드의 양을 줄이고 구현이 간편해지는 장점이 있습니다.

커스텀뷰를 사용해서도 구현을 할 수 있을 것 같은데, 이 정도의 복잡한 화면이라면 커스텀뷰를 사용하는게 좀 머뭇거려 질 것 같긴 합니다.

어느 경우든, 예제의 경우는 프레그먼트를 사용하는 것이 현재 안드로이드 시스템에서는 제일 깔금한 방향이라고 생각합니다.

또 하나 고려해야 햘 중요한 부분 중의 하나는 각각의 컨텐츠에 대한 코드가 독립적이어야 코드관리가 쉽다는 것입니다. 이미 각 컨텐츠 별로 독립적으로 코드를 구현하셨다면 블로그에 나온대로 구현하는 것도 많이 복잡한 작업을 아니어야 하는데, 이게 안된다면, 코드 관리가 점점 힘들어 지실 겁니다. 가능하다면, 이번 기회에 리팩토링을 하시는게 결과적으로 개발시간을 줄이고 추후에 변경사항이 생길 때 쉽게 대응할 수 있는 방향이라고 보여집니다.
spark (226,420 포인트) 님이 2023년 1월 25일 답변
enerigpy님이 2023년 1월 26일 채택됨
...