프래그먼트 간의 이동& 플래그먼트 toolbar

소정·2023년 4월 3일
0

Kotlin

목록 보기
14/27

  • 액티비티의 이동은 Intent로 하듯 Fragment는 FragmentManager를 이용하여 움직인다
requireActivity().supportFragmentManager.beginTransaction()
        .replace(R.id.container_fragment, SettingMainFragment())
        .addToBackStack(null).commit()

🧨🧨 사용 주의

commit() 빼먹지 말기!!!
.addToBackStack(null)을 해주면 현재 프래그먼트는 스택에서 지운다



플래그먼트 내에서 Toolbar 사용

  • 플래그먼트에선 supportAction 을 쓰는 것을 권장하지 않는다

  • 뒤로가기를 활성화 하고 싶다면 .setNavigationIcon 를 이용해 백버튼 아이콘을 등록하고

.setNavigationOnClickListener 를 사용해 뒤로가기를 구현한다

💡 프래그먼트 뒤로가기 2가지

  1. remove 해주는 방법
requireActivity().supportFragmentManager.beginTransaction().remove(this).commit()
  1. .popBackStack() 하는 방법
requireActivity().supportFragmentManager.popBackStack()
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)

        //앱 타이틀
        val toolbar: Toolbar = view.findViewById(R.id.toolbar) // 상단바
        toolbar.setTitle(R.string.setting)
        toolbar.setNavigationIcon(R.drawable.ic_action_back)

        //뒤로가기
        toolbar.setNavigationOnClickListener {
            requireActivity().supportFragmentManager.beginTransaction().remove(this).commit()
            
            또는
            
  			requireActivity().supportFragmentManager.popBackStack()
        }

       
    }
profile
보조기억장치

0개의 댓글