[Android Studio/Kotlin] fragment 사용법 2 (Action bar 뒤로가기)

2022. 11. 30. 12:00·공부/Android Studio
728x90

이전 포스팅에서 fragment를 교체하는 방법에 대해서 공부하였다.

 

이전 포스팅에서는 이전 fragment로 돌아가기 위해서는 스마트폰의 뒤로가기 버튼을 눌렀어야 했다.

 

이제는 상단에 뒤로가기 버튼을 만들어서 뒤로갈 수 있게끔 해보려 한다.

 

이를 위해서 ActionBar를 설정해야한다.

 

그 전에 메인 액티비티의 프래그먼트 화면에 접근해야 하므로 container라는 아이디를 주었다.

이제 메인 액티비티에 binding을 설정하고 onCreate 함수에 다음 코드 한 줄을 추가하면 액션 바가 만들어진다.

setupActionBarWithNavController(binding.container.getFragment<NavHostFragment>().navController)

그리고 액션 바의 뒤로가기 버튼을 클릭했을 때 뒤로 갈 수 있도록 해야하므로 

 

onSupportNavigateUp 함수를 오버라이딩하여 다음 코드를 추가한다.

override fun onSupportNavigateUp(): Boolean {
    return binding.container.getFragment<NavHostFragment>().navController.navigateUp()||super.onSupportNavigateUp()
}

그리고 navigation 디렉토리 안의 xml 파일에서 fragment들의 label을 지정해준다.

 

액션 바에 출력될 fragment 이름을  설정하는 것이다.

 

 

설정한 label과 뒤로가기 버튼이 작동하는 것을 확인할 수 있다.

 

메인 액티비티 전체 코드

class MainActivity : AppCompatActivity() {
    lateinit var binding:ActivityMainBinding
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding=ActivityMainBinding.inflate(layoutInflater)
        setupActionBarWithNavController(binding.container.getFragment<NavHostFragment>().navController)
        setContentView(binding?.root)
    }

    override fun onSupportNavigateUp(): Boolean {
        return binding.container.getFragment<NavHostFragment>().navController.navigateUp()||super.onSupportNavigateUp()
    }
}

다음 포스팅은 fragment 내부 버튼이 아니라 하단에 bottom navigation을 설정하여 fragment를 교체하는 방법에 대해서 공부해보려 한다.

728x90

'공부 > Android Studio' 카테고리의 다른 글

[Android Studio] Firebase와 연결하기  (0) 2022.12.13
[Android/Kotlin] Recycler view 사용법  (0) 2022.12.08
[Android Studio] fragment 사용법 3 (bottom navigation)  (0) 2022.12.01
[Android/Kotlin] activity와 fragment에서 view binding 사용법  (0) 2022.11.22
[Android Studio/Kotlin] fragment 사용법 1 (fragment 교체)  (0) 2022.11.20
'공부/Android Studio' 카테고리의 다른 글
  • [Android/Kotlin] Recycler view 사용법
  • [Android Studio] fragment 사용법 3 (bottom navigation)
  • [Android/Kotlin] activity와 fragment에서 view binding 사용법
  • [Android Studio/Kotlin] fragment 사용법 1 (fragment 교체)
웅대
웅대
알고리즘과 백엔드를 중심으로 열심히 공부 중입니다! 같이 소통하며 공부해요!
    250x250
  • 웅대
    웅대 개발 블로그
    웅대
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 백준 알고리즘
        • dp
        • 문자열
        • 정렬
        • 스택
        • 브루트 포스
        • 이진 탐색
        • 정리
        • 우선순위 큐
        • 자료구조
        • 그래프
        • 기타
        • 그리디
      • 컴퓨터 언어
        • Kotlin
        • Python
        • C#
      • 공부
        • Database
        • Android Studio
        • Algorithm
        • 컴퓨터 구조론
        • Spring
        • lombok
        • AWS
        • Network
        • OS
        • Git & GitHub
        • AI
        • Computer Vision
        • 보안
        • Nginx
        • 프론트
        • express
        • GCP
        • grokking concurrency
        • DevOps
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    AWS Lambda
    binary search
    다익스트라
    Merge
    bfs
    parametric search
    스택
    파이썬
    influxDB CLI
    codetree
    openvidu 배포
    푸쉬 알람
    ci/cd
    code tree
    RNN
    ChatPromptTemplate
    embedding
    nn.RNN
    Vector Store
    스프링 OAuth2
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
웅대
[Android Studio/Kotlin] fragment 사용법 2 (Action bar 뒤로가기)
상단으로

티스토리툴바