如何爲您的視圖提供依賴關係(android.view.View
)?我在匕首中看到的大多數示例都通過視圖的上下文來提供它們,但這看起來不太可組合。說如果我有一個雙窗格視圖,我希望封閉視圖爲主視圖和詳細視圖提供依賴關係。如果使用嵌套視圖中的上下文,則依賴關係仍將由活動提供,而不是包含視圖。一種解決方法是將上下文傳遞給嵌套視圖,但這會使通貨膨脹變得困難。這不是一個匕首問題。查看依賴關係注入
查看依賴關係注入
回答
如果我正確理解你,你想傳遞一些依賴到你的視圖。據我所知,你可以像在Activity一樣注入依賴關係。使用Dagger 2,您可以定義組件,模塊,接口並使用@Inject
註釋。它應該工作。我其實並沒有在Views中使用注射。我通常在「活動」中使用它們,並將一些數據(如字符串,整數,對象列表,自定義對象等)傳遞給視圖。我認爲,觀點應該儘可能簡單,我不確定在他們內部使用注射是否正確。也許這可能是一個非常具體的解決方案。
我明白如何注入,我問是否有方法讓封閉視圖提供嵌套視圖的依賴關係。 – DariusL
我認爲,找出最簡單的方法就是嘗試一下。我不知道是否可以從封閉視圖向嵌套視圖傳入注入,但是可以嘗試在嵌套視圖中初始化注入。或者,您可以在共享對象中初始化注入,這可以通過封閉和嵌套視圖來使用。也許最好在GitHub上通過問題提出這個問題,所以Dagger維護者可以給你更好的答案。 –
你可以只是做一個盲目遍歷了視圖樹,要求每位家長如果有一個噴油器就應該使用。
或者,你可以有封閉的觀點負責打針,而不是有嵌套視圖嘗試自己注射。畢竟,即使匕首示例指南顯示對象注入自己,通常情況下依賴注入應該是另一種方式:其他東西注入到我們中。
- 1. C#依賴注入 - 如何注入無源的依賴關係?
- 2. 查看osgi包的依賴關係?
- 3. 查看外鍵的依賴關係樹
- 4. 在Global.asax中注入依賴關係
- 5. Aurelia注入模擬依賴關係
- 6. SubSonic SimpleRepository和依賴關係注入
- 7. 向IWindsorInstaller實現注入依賴關係
- 8. 將依賴關係注入靜態類
- 9. XtextDocumentProvider的依賴關係注入配置
- 10. 向測試注入依賴關係
- 11. Hazelcast不注入彈簧依賴關係
- 12. 使用Ninject注入AutoMapper依賴關係
- 13. 牙籤不注入依賴關係
- 14. Unity/EntLib:向CustomTraceListener注入依賴關係
- 15. 向Guice注入依賴關係到ServletContextListener
- 16. Angular-Access config注入依賴關係
- 17. 註解 - JAR依賴關係
- 18. 使用依賴注入容器時明確依賴關係
- 19. ASP.NET MVC視圖依賴注入無依賴關係解析?
- 20. 依賴關係的nuget依賴關係
- 21. Gulp任務'注入:供應商'不注入Bower依賴關係
- 22. 將注入器注入中間件依賴關係
- 23. 導入gradle依賴關係
- 24. 查找列依賴關係
- 25. 查找AAR依賴關係
- 26. 查找makefile依賴關係
- 27. 依賴注入查詢
- 28. Angular 2依賴注入 - 如何知道在哪裏插入依賴關係
- 29. 依賴關係
- 30. 使用java註釋注入記錄器依賴關係
什麼是您希望將某些東西注入視圖然後將該依賴項傳遞給子視圖而不是直接將註釋依賴注入子視圖的用例? – FriendlyMikhail
該視圖以某種方式對其父項進行操作。如果回調通過上下文傳遞,它將在活動上運行(除非ContextWrapper)。通過方法傳遞迴調並不是很有趣(沒有最終) – DariusL
想要在自定義視圖中注入DI(如CustomTextView擴展TextView),我應該在哪裏調用注入? –