2
我閱讀文檔並發現,我可以注入活動對象 「HasActivityInjector」和Fragment對象與「HasFragmentInjector」,但如何注入視圖對象?像我有自定義視圖而不是片段,如何注入它?如何使用Dagger 2自定義視圖?
我閱讀文檔並發現,我可以注入活動對象 「HasActivityInjector」和Fragment對象與「HasFragmentInjector」,但如何注入視圖對象?像我有自定義視圖而不是片段,如何注入它?如何使用Dagger 2自定義視圖?
你可以聲明inject
方法您的組件的內部像
fun inject(view: YourCustomView)
,然後當您使用上的一些活動或片段來看,撥打
override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
yourCustomView.inject(component)
}
component
可以內部片段的獲得活動的onCreate
從您的注射。
在你看來,你需要實現inject
方法是這樣的:
fun inject(component: Component) {
component.inject(this)
}
這一切,現在你可以注入你的自定義視圖裏面一切從您的組件。
你現在不能使用dagger2.12獲得Activity的組件,現在該解決方案將如何工作? –
讓我澄清,你想在你的自定義視圖內注入一些對象? –
正是這個,我的朋友 – Karamba
我已經添加並編輯了答案,請讓我知道如果你有麻煩,我只是意識到我給你寫了用kotlin寫的例子。 –