회원가입 기능을 구현하려는데
기획 당시 화면을 여러 개로 나누는 것으로 정해져 있었다.
처음 들었던 생각으로는 '화면을 이동할때마다 프래그먼트를 쌓는 방식으로 구현하면 되겠다' 였다.
그리고 좀 더 생각해보니 ViewPager2를 이용할 수 있겠다 싶어서 이걸 이용해보기로 했다.
하지만 ViewPager2를 이용할 경우 각각의 프래그먼트에서 입력한 값이 무엇인지 ViewPager2를 담은 프래그먼트에서는 어떻게 접근해야하는지 방법을 아예 몰랐다.
그래서 구글에 검색해보니 뷰페이저 어댑터의 createFragment(int position) 메서드를 이용하면 된다고 방법이 나와있었다.
createFragment() 메서드에 인자값으로 ViewPager의 포지션값(currentItem)을 넣어주면 프래그먼트를 만들어오는데 해당 프래그먼트로 형변환을 같이 해주면 된다.
val cureentPosition = viewPagerJoin.currentItem
val fragment = viewPagerAdapter.createFragment(currentPosition) as JoinStep1Fragment
이렇게 받아온 fragment로 바인딩 객체에 접근하거나 메서드를 호출할 수도 있다.