728x90
프로젝트에 Dagger2 작업을 설정하였으면 Activity에서는 DaggerActivity(), Fragment에서는 DaggerFragment()를 각각 상속하면 해당 SubComponent가 빌드 시에 생성된다. 하지만 BottomSheet 중에 BottomSheetDialogFragment에서는 DaggerBottomSheetDialogFragment()라는 것이 없어서 고민하던 중 GitHub에 한 개발자가 만들어 놓아 주셔서 이를 프로젝트에 적용하였다. 코드는 아래와 같다.(너무나 감사합니다ㅠㅠ)
open class DaggerBottomSheetDialogFragment : BottomSheetDialogFragment(), HasSupportFragmentInjector {
@Inject lateinit var mChildFragmentInjector: DispatchingAndroidInjector<Fragment>
override fun onAttach(context: Context) {
AndroidSupportInjection.inject(this)
super.onAttach(context)
}
override fun supportFragmentInjector(): AndroidInjector<Fragment> {
return mChildFragmentInjector;
}
}
출처 : https://gist.github.com/ryanamaral/658583c020622e0fae70caf3fed9867b
'Android' 카테고리의 다른 글
Clean Architecture 1 - 클린 아키텍처란 무엇인가? (0) | 2022.01.17 |
---|---|
안드로이드 4대 컴포넌트 (0) | 2021.12.27 |
이제는 필수가 되어 버린 페이지네이션(Pagination) (0) | 2021.11.17 |
디자인 아키텍처 3 - MVC (0) | 2021.11.16 |
Layout xml 그룹 관리 (0) | 2021.11.16 |