[Android/Kotlin] 확장성 있는 개발을 하기위한 개인 참고용 Refactoring
카테고리 : Devlog >> Fix It 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의 위치가 변해도 문제없이 작동하기 위한 코드이다.