[토막글] 현재 실행 중인 Fragment 알아내기

지프치프·2021년 10월 18일
0

Android

목록 보기
19/86
post-thumbnail

“Android 로봇은 Google에서 제작하여 공유한 저작물을 복제하거나 수정한 것으로 Creative Commons 3.0 저작자 표시 라이선스의 약관에 따라 사용되었습니다.”


Fragment를 replace 할 때
replace 하려는 Fragment가 이미 동작 중이라면
replace 하지말고 return 시켜버리는 방어 코드가 필요하다.

코드는 아래와 같다.

	binding.btnFrag1.setOnClickListener {
            for(fragment in supportFragmentManager.fragments) {
                if(fragment.isVisible && fragment is SampleFragment1) {
                    return@setOnClickListener
                }
            }
            supportFragmentManager.beginTransaction().replace(R.id.fl_fragment, SampleFragment1()).commitAllowingStateLoss()
        }

위 코드는 Kotlin으로 작성되었습니다.

profile
지프처럼 거침없는 개발을 하고싶은 개발자

0개의 댓글