본문 바로가기

유저 인터페이스/프래그먼트(Fragment)

프래그먼트가 표시되지 않아요 -_-;;



안드로이드 3.0부터 추가된 요소인 Fragment.....

이는 독립된 로직을 가지고 있는 일련의 뷰를 포함하는 액티비티를 작성할 때
매우 유용합니다. 덕분에 제가 최근 만드는 앱에서는 프래그먼트를 절찬리(?) 사용하고 있지요.

하지만, 아직 사용법이 익숙하지 않아서인지 몰라도,
사소하지만 큰 실수를 자주 하곤 합니다.

가장 많이 접하는 경우가.....

"프래그먼트를 추가했는데, 왜 프래그먼트가 보이지 않는거지??" 

이 상황일 것으로 추측됩니다. ㅎㅎ
과연, 이유가 무엇일까요????

네... 사실 별건 없습니다.
바로 commit() 메서드를 호출하지 않았기에....ㅠㅠ

프래그먼트를 화면에 추가하거나 표시하려면 FragmentTransaction 클래스의 메서드를 사용하는데,
여기에서 추가/교체/제거 등의 작업을 한 후 반드시 commit() 메서드를 호출해야 변경 사항이 적용됩니다.
그렇지 않아면.. 백날 건드려봤자 변하는 것은 없지요...

사소한 것이지만 자주 잊기 쉬운 것이라 한번 정리해 보았습니다. ^^

ps. 한가지 예외가 있따면, 액션바의 OnTabListener 의 인자로 받는 FragmentTransaction을 사용할 때는
commit() 메서드를 호출하면 안됩니다. 자동으로 commit() 메서드를 호출해주기 때문이지요.