[ Fragment ]
1. 기본 개념
1. Fragment도 Activity처럼 생명주기가 있지만 Activity위에서 동작하기 때문에 Activity가 종료되면 모든 Fragment도 종료된다.
2. Fragment는 app.Fragment와 support.v4.app.Fragment library 가 존재
3. 화면(Activity)를 여러 조각으로 나누워도 관리 및 조회하고 싶을때 Fragment를 사용.
4. Fragment는 항상 Activity위에 올라가 있어야 한다.
5. [탭]버튼을 클릭시 다른 화면을 보여줄때 Activity도 가능 하지만 Fragment를 사용하면 더 좋다.
9. 하나의 액티비티 위에 여러 개의 액티비티를 올릴수 있다.
- 구체적으로 Activity클래스와 AcitivityGroup클래스를 이요하면 구현 가능
- 하지만 하나의 화면을 독립적으로 구성할 때 필요한 여러 가지 속성들을 사용하면, 안드로이드 시스템에서 관리하는
애플리케이션 구성 요소이므로 액티비티 안에 다른 액티비티를 넣는 것은 단말의 리소스를 많이 사용하는 비효율적인 방법이 된다.
2. Fragment 주요 메소드
- public final Activity getActivity()
: 이 프래그먼트를 포함하는 액티비티를 리턴함.
- public final FragmentManager getFragmentManager()
: 이 프래그먼트를 포함하는 액티비티에서 프래그먼트 객체들과 의사소통하는 프래그먼트 매니저를 리턴함.
- public final Fragment getParentFragment()
: 이 프래그먼트를 포함하는 부모가 프래그먼트일 경우 리턴함. 액티비티이면 null을 리턴함.
- public final int getId()
: 이 프래그먼트의 ID를 리턴함.
3. FragmentManager 주요 메소드
- public abstract FramgentTransaction beginTransaction()
: 프래그먼트를 변경하기 위한 트랜젝션을 시작함
- public abstract Framgent findFragmentById(int id)
: ID를 이용해 프래그먼트 객체를 찾음
- public abstract Framgent findFragmentByTag(String tag)
: 태그 정보를 이용해 프래그먼트 객체를 찾음
- public abstract boolean executePendingTransaction()
: 트랜젝션은 commit()메소드를 호출하면 실행되지만 비동기(asynchronous)방식으로 실행되므로 즉시 실행하고 싶다면 이 메소드를 추가로 호출해야 됨
URL : http://itpangpang.tistory.com/''