Как связать / предоставить действие или фрагмент с рукоятью? - PullRequest
1 голос
/ 01 августа 2020
• 1000 их я сам, так что у меня будет собственный найм.

К сути: Пример: скажем, у меня есть простое приложение с RecyclerView, Adapter, Activity и Callback, вложенными в мой адаптер, которые я передаю Конструктор адаптера для обнаружения щелчков или чего-то еще, и я разрешаю своей деятельности реализовать этот обратный вызов, и, конечно же, я хочу ввести адаптер.

class @Inject constructor (callBack: Callback): RecyclerView.Adapter...

Когда я сообщаю Hilt, что хочу ввести в моем адаптере мне нужно сообщить Hilt, как предоставить все зависимости адаптера - обратный вызов.

В Dagger я смог добиться этого, просто привязав Activity к обратному вызову в одном из моих модулей:

@Binds fun bindCallback(activity: MyActivity): Adapter.Callback

Dagger знал, как связать действие (или любое действие / фрагмент), а затем он был связан с этим обратным вызовом, но с Hi Это не работает.

Как я могу этого добиться? Как я могу предоставить или связать действие или фрагмент с помощью рукояти?

1 Ответ

1 голос
/ 14 августа 2020

Hilt может предоставить экземпляр generi c ActivityFragment в этом отношении) в качестве зависимости внутри ActivityComponentFragmentComponent соответственно). Он просто не может предоставить экземпляр вашей спецификации c MyActivity.

Вы все равно можете создать свой собственный Component в Hilt . Вам просто нужно будет управлять экземпляром component самостоятельно. Добавьте MyActivity в качестве начальных данных для конструктора компонентов, и вы сможете без проблем получить @Bind свой Callback.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...