티스토리 뷰

Android

Fragment

세이브 2021. 9. 3. 13:01

 

Fragment 

: 프레그먼트는 ‘조각’,’단편’이라는 뜻처럼 액티비티 내의 일부 영역을 차지하여 사용자 화면을 구성하는 역할을 한다

액티비티 내에서 독립적으로 동작할 수 있어서 , 한 번 만들어 두면 다른 액티비티에서도 사용할 수 있다.

=> 액티비티 내에서만 활동할 수 있는 작은 액티비티라고 생각하자!!

 

 

 

Fragment의 특징

1) Fragment는 자신만의 라이프 사이클 콜백 함수들을 가지고,자신을 포함한 Activity로부터 독립적으로 동작합니다.

2) Frament는 혼자 독자적으로 동작할 수 없으며 , Fragment 라이프 사이클은 자신이 포함된 Activity 라이프 사이클의 영향을 받는다.

ex. Activity가 pause되면 Activity내에 속한 모든 Fragment가 pause된다.

3 ) fragment는 자신이 속한 Activity와만 통신해야 하며,항상 자신이 속한 activity를 통해서 다른 fragment나 activity와 통신해야 한다

 

 

 

Fragment Life Cycle

: Fragment는 Activity 내에 있는 Fragment Manager에 의해 관리된다.

Fragment Life Cycle Activity의 Life Cycle이 변경됨에 따라 같이 변경된다.

 

 

Fragment Life Cycle 메소드

  • onAttach(): fragment가 fragmentManager에 추가되었을 때 호출된다.
  • onCreate(): fragment생성시 초기화 처리를 하도록 호출된다.
  • onCreateView(): Fragment에 배치할 View를 생성해 달라고 요청하기 위해 호출된다.
  • => 여기서 fragment에 배치할 view를 생성하여 넘겨준다.
  • onViewCreated(): Fragment에 배치할 View가 생성되었을 때 호출한다.
  • onActivityCreated(): activity의 onCreate가 완료된 다음 호출된다. 이때 Fragment의 View는 Activity에 추가되어 있는 상태가 된다.
  • onStart() : fragment가 사용자에게 보여졌을 때 호출된다.
  • onResume(): Fragment가 사용자에게 보여지고 Activity가 running상태이면 호출된다.
  • onPause(): Fragment가 더 이상 resumed 상태가 아닐 때 호출된다.
  • onStop : Fragment가 started상태가 아닐 때 호출된다.
  • onDestroy : Fragment가 더 이상 사용되지 않을 때 호출된다.
  • onDetach : Fragment가 FragmentManager에서 제거될 때 호출된다.

 

 

그 외 메소드

  • getActivity : Fragment가 속한 Activity를 넘겨준다.
  • getContext : Fragment가 속한 Context를 넘겨준다.
  • getArgument : Fragment에서 Argument를 얻어온다.
  • setArgument: Fragment에 Argument를 설정한다.
  • getFragmentManager : 자신이 속한 FragmentManager를 얻어온다.
  • getChildFragmentManager : Fragment내에 Fragment를 배치할 수 있는 FragmentManager를 얻어온다.
  • getParentFragment : ChildfragmentManager에 추가된 경우 Parent Fragment를 얻는다.
  • getView : onCreateView에서 설정된 View를 얻어온다.

 

 

 

Fragment Manager

Fragment Manager는 Activity내에서 Fragment를 관리하기 위해 사용된다. Activity에서 getFragmentManager를 통해 얻을 수 있다. 뿐만 아니라 FragmentTransction을 얻어오거나 , BackStack을 관리하거나 Fragment의 상태를 저장 또는 복원하는 기능을 제공한다.

 

 

FragmentTransaction

: Fragment의 연산의 집합을 나타내는 class

Fragment Transaction은 FragmentManager에 의하여 하나의 연산으로 다루어 진다.

 

FragmentTransaction에 여러 개의 연산(add, replace, hide,show 등)이 들어있는 경우 FragmentManager에 의해

한번에 처리되며 분리되어 다루어지지 않음.

 

  • Add: fragment를 activity화면에 추가
  • Remove: fragment를 activity 화면에서 제거
  • replace: Activity화면의 container위치에 있는 View를 제거하고 fragment 배치
  • Attach: View를 생성하여 Fragment에 배치 (onCreateView가 호출)
  • Detach: fragment의 view를 fragment에서 제거함.
  • show(): Fragment의 view를 show시킴.

 

참고 : https://recipes4dev.tistory.com/58

'Android' 카테고리의 다른 글

콜백(Callback)과 리스너(Listener)  (0) 2021.09.03
Fragment 사용방법  (0) 2021.09.03
Recycler View  (0) 2021.09.03
inflation  (0) 2021.09.03
View 클래스 계층  (0) 2021.09.03
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
글 보관함