20230824 TIL Fragment 이론

이성진·2023년 8월 24일
1

TIL

목록 보기
21/95

Fragment

하나의 액티비티를 여러개의 클래스로 나눠서 코딩할 수 있도록 도와주는 클래스
ViewPager 등으로 하나의 액티비티에서도 여러장의 화면을 보여주려고 할때 사용.
모바일 앱에서도 자주 사용함.

사용법

1. fragments 패키지에 별도로 관리.

2. 코틀린 클래스로 프로그먼트 생성

-> 이름을 ~~Fragment로 지어주기!

-> Fragment()를 상속받로록 처리. androidx에서 제공하는것으로 자동 완성.

3. 프로그먼트의 layout을 xml로 그려주기

->이름 지을때 fragment_~~으로 지어주기 일반적인 방법

4. xml + 코틀린 파일 연결 : 코틀린 클래스에서 onCreateView 함수를 오버라이딩.

onCreateView : 어떤 xml을 사용할지 연결하는데만 쓰이는 전용 함수.

return 내용을 통으로 교체.

return inflater.inflate(R.layout.xml파일이름 , container , false)

5. 프로그먼트에서의 동작 관련 코드들은 -> onActivityCreated를 오버라이딩해서, 그 내부에 작성하자

유의사항 : mContext/this 등으로 어떤 화면인지 전달해야할 상황에서는
-> context변수를 대신 대입하여 ->이프로그먼트를 들고 있는 화면에 전달되도록 처리하자

6. 만든 프로그먼트는 일종의 화면 부속품. ->액티비티에 올려줘야 화면에 등장하게됨.

액티비티의 xml상에 직업 올려주기

->fragment 태그 생성/ 크기결정

->어떤 종류의 프로그먼트인지 class 속성으로 자동완성해서 적어주자.

->tag 속성 또는 id속성값을 중복되지 않게 붙여줘야 정상적으로 동작.

액티비티에 ViewPager를 배치하고 -> 그페이지 내용물로 프로그먼트 배치.

-> 별도 카드에 작성

7.특이사항

프로그먼트도 일종의 클래스 이므로 ->한번 만들어두고 여러번 사용해도 괜찮다.

->한 화면에 같은 프로그먼트가 2회 이상 보여지는것도 가능.

profile
2023.08 ~ Android Kotlin 공부

3개의 댓글

comment-user-thumbnail
2023년 8월 24일

좋은 글 감사합니다!!

답글 달기
comment-user-thumbnail
2023년 8월 24일

Fragment // 진도가 빠르시군여 !! Fragment < 기억할게여 ! 여러개의 액티비티!!!! 고수는 이것을 쓴다

답글 달기
comment-user-thumbnail
2023년 8월 24일

화면 구현할 때 activity 또는 fragment인데 두개가 생명주기도 다르고 하더라구여 ㅠㅠㅠ헷갈립니다 !!

답글 달기