[Android/Kotlin] 확장성 있는 개발을 하기위한 개인 참고용 Refactoring

Floating ActionBtn [show/hide]

기존코드
 binding.viewPager.registerOnPageChangeCallback( object : ViewPager2.OnPageChangeCallback() {
    override fun onPageSelected(position: Int) {
            super.onPageSelected(position)
                if (position == 0) {
                fabAddTodo.show()
               	} else {
                fabAddTodo.hide()
            }
        }
    }
)
재구현
 binding.viewPager.registerOnPageChangeCallback( object : ViewPager2.OnPageChangeCallback() {
    override fun onPageSelected(position: Int) {
            super.onPageSelected(position)
                val fragment = viewPagerAdapter.getFragment(position)
                if (fragment is TodoFragment) fabAddTodo.show()
                else fabAddTodo.hide()
            }
        }
    }
)
  • 플로팅 액션버튼을 Fragment에 따라 show(), hide() 해 주는 코드이다.
  • 기존의 코드는 지정돼있는 0번의 위치에 있는 TodoFragment일 때만 보이게 해주는 코드이다.
  • 리팩토링한 코드는 0이라는 값이 아닌 TodoFragment로 받아와 주어 TodoFragment의 위치가 변해도 문제없이 작동하기 위한 코드이다.

© 2023. All rights reserved.

by SoftyChoo