본문 바로가기
📱Web & Mobile/AndroidStudio

[AndroidStudio] Fragment

by inbeom 2023. 8. 20.
728x90

프래그먼트(fragment) 란?

  • [Fragment](<https://developer.android.com/reference/androidx/fragment/app/Fragment?hl=ko>)는 [FragmentActivity](<https://developer.android.com/reference/androidx/fragment/app/FragmentActivity?hl=ko>)내의 어떤 동작 또는 사용자 인터페이스의 일부를 나타냅니다.
  • 여러 개의 프래그먼트를 하나의 액티비티에 결합하여 창이 여러 개인 UI를 빌드할 수 있으며, 하나의 프래그먼트를 여러 액티비티에서 재사용할 수 있습니다.
  • 프래그먼트는 액티비티의 모듈식 섹션이라고 생각하면 됩니다.
  • 이는 자체적인 수명 주기를 가지고, 자체 입력 이벤트를 수신하고, 액티비티 실행 중에 추가 및 삭제가 가능합니다(다른 액티비티에 재사용할 수 있는 "하위 액티비티"와 같은 개념).

 

💡 프래그먼트,,

Activity만 사용하다 이번 프로젝트에서 Fragment로 메인 화면들을 구성하는 것이 적합할 것 같아서 ‘Activity랑 비슷하겠지~’ 라는 생각으로 Fragment를 활용하여 개발하던 중 Activity와 다른 부분에서 에러가 많이 발생해 힘들었다..

Check!

  1. onCreateView에서는 항상 마지막에 inflater를 return해줘야 한다.
  2. findViewById() 메서드를 사용하기위해서 onCreateView의 맨 위에서 미리 inflater를 해줘야 한다.
@Nullable
@Override
public View **onCreateView**(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    **ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.activity_home, container, false);**

    **mAdView = rootView.findViewById(R.id.adView);**
    AdRequest adRequest = new AdRequest.Builder().build();
    mAdView.loadAd(adRequest);

    **return rootView;**
}

 

프래그먼트 | Android 개발자 | Android Developers

 

프래그먼트  |  Android 개발자  |  Android Developers

A Fragment represents a behavior or a portion of user interface in an Activity. You can combine multiple fragments in a single activity to build a multi-pane UI and reuse a fragment in multiple activities. You can think of a fragment as a modular section

developer.android.com

 

728x90

'📱Web & Mobile > AndroidStudio' 카테고리의 다른 글

[AndroidStudio] PHP 외부 DB연결  (0) 2023.08.20
[AndroidStudio] TMap API  (0) 2023.08.20
[AndroidStudio] SQLite  (0) 2023.08.20
[AndroidStudio] RecyclerView  (0) 2023.08.20
[AndroidStudio] 에러 노트  (0) 2023.08.20