1.FragmentManager객체를 생성
프래그먼트 관리
stack과 log관리, Activity와 연결된 fragment 찾기 등의 기능 제공
*findFragmentById(); //액티비티 레이아웃 내에서 UI를 제공하는 경우
*findFragmentByTag(); //UI를 제공하거나 하지 않는 경우
FragmentManager fragManager = getSupportFragmentManager();
2.FragmentTransaction 객체를 생성
프래그먼트 트랜잭션 수행
*트랜잭션은 액티비티에 커밋한 변경 내용의 집합
xml_layout에 Fragment객체를 추가
사용자가 backKey를 눌렀을 때 fragment stack에 저장된 fragment를 호출
즉, xml_layout 내 뷰그룹 요소와 frgment객체를 연결시키는 역할 수행
FragmentTransaction ft = fragManager.beginTransaction();
*FragmentManager로부터 인스턴스를 흭득
3.Fragment Class의 instance를 생성
MyCreateFragment frag = new MyCreateFragment();
4.Fragment객체가 생성한 뷰(아이템 뷰)를 뷰그룹(상위 뷰)에 추가
ft.add(R.id.fragment_container, frag);
5.commit()메소드 작업을 위임
fragment transaction객체 내의 작업이 완료 되었으니
안드로이드(surfaceManager)에게 제작한 뷰를 출력시켜달라고 요청하는 작업
반드시 마지막으로 호출해야 하며 Activity가 상태를 저장하기 전에 이루어져야 함
*Activity의 onSaveInstanceState 호출된 후 commit하면 예외 발생하며
이를 해결하려면 commitAllowingStateLoss()를 이용
ft.commit();
'개발 log (개발) > mobile' 카테고리의 다른 글
'내 위치 확인' 을 위한 gps 다루기 (0) | 2016.10.25 |
---|---|
'커스텀달력' 구현을 위한 커스텀뷰 #1 (0) | 2016.09.14 |
'커스텀갤러리' 구현을 위한 이론(ExternalStorage, DrawingCache) (0) | 2016.09.03 |
'커스텀갤러리' 구현을 위한 이론(Media_DB정보) (0) | 2016.08.30 |
'알람기능' 구현을 위한 이론(MobileDB_SQLite 1편) (0) | 2016.08.20 |