Fragment는 앱 내부에 새로운 Activity로 이동하지 않고

액티비티의 일부만 변경하는 특성을 가지고 있습니다.

 

일부만 변경하기 때문에 앱 화면간 정보 전달이 용이하고

사이드 네비게이션에서의 메뉴 선택, 화면 전환등 화면전환에 용이합니다

 

즉 여러 화면 크기에 대한 UI를 만드는 작업을 단순화가 가능합니다

 

build.gradle 수정

android {
        ...
        viewBinding {
            enabled = true
        }
    }

 

Fragment를 사용하기 위해 상속

class LoginFragment : Fragment()

 

binding 전역변수 선언

private lateinit var binding: FragmentMainBinding

 

onCreateView 메소드 내부 전역변수로 지정한 binding 초기화

    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        // Inflate the layout for this fragment
        binding = FragmentMainBinding.inflate(layoutInflater)
        return binding.root
    }

 

뷰가 생성 된 직 후 (onViewCreated)

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)

        val navController = Navigation.findNavController(view)

        binding.ownerLoginButton.setOnClickListener {
            navController.navigate(R.id.action_main_to_joinOwner)
        }

 

 

복사했습니다!