본문 바로가기
Android

[Java][Kotlin] Fragment 간단 사용법

by 방구석 몽상가 2018. 10. 13.
2018-10-13-android-fragment

로그인 Fragment를 만들고 메인 액티비티에서 보여주는 것을 한 번 해보자. 추가적으로 java 코드로 보고 코틀린으로 변환해보자.

1. Java

1. Fragment 생성

Fragment는 Android Studio나 IntelliJ를 사용하고 있다면 손쉽게 생성할 수 있다.
Fragment를 생성하고자 하는 폴더에 오른쪽 버튼을 눌러 빈 Fragment를 생성하면 Fragment의 xml 파일과 java 파일이 생성된다.

먼저, 앱 로고 - 로그인 버튼 - 회원가입 버튼 이렇게 화면 구성을 해보자.

자동적으로 FrameLayout이 root 레이아웃이 되어있고 그 내부에서 구성을 해주면 된다.

이제 java을 보자. 역시나 자동적으로 코드가 작성되어 있지만, 간단히 Fragment를 보여줄 때는 onCreate, onCreateView 메서드만 오버라이딩하면 된다. 프레그먼트의 상태유지를 위해서는 onAttach, onDetach 메서드를 오버라이딩하면 되지만 여기선 넘어가겠다.

 

2. Activity에 Fragment 띄우기

Fragment는 Activity의 구성요소로 존재하게 된다. 따라서 다른 버튼, 텍스트뷰처럼 보여질 위치를 xml로 코딩해야 한다.

FrameLayout의 위치가 Fragment가 보여질 위치이므로 여기서는 Fragment가 액티비티 전체를 차지하게 된다.

이제 Fragment를 띄어주는 코드만 작성하면 끝이다.

실행하면 바로 Fragment의 화면이 뜨게 된다.

 

2. Kotlin

xml 레이아웃 생성은 java와 동일하고 코드만 살펴보자.

1. Fragment 생성

 

2. Activity에 Fragment 띄우기

여기서 주목해야 할 점은 원래 getSupportFragmentManager()를 호출해서 인스턴스 얻어 사용했지만 여기서는 supportFragmentManager와 같이 변수처럼 사용한다는 점이다. Kotlin으로 변경되면서 싱글톤 패턴을 언어 차원에서 지원하게 되었다. object나 companion object를 사용하면 이것이 가능해진다. 다른 예시로 getActivity()도 activity와 같이 사용할 수 있다.

댓글