我正在尝试在 Android 应用程序上实现 Hilt,虽然与 Dagger 相比,它很容易实现并删除了很多样板代码,但我想念一些东西,比如构建我自己的组件并自己确定它们的范围,所以我将有我自己的hirerchy。
重点: 示例:假设我有一个简单的应用程序,其中包含一个 RecyclerView、Adapter、Acitivity 和嵌套在我的 Adapter 中的回调,我将它传递到我的 Adapter 构造函数中以检测点击或其他任何东西,并且我让我的活动实现那个回调,当然我想注入适配器。
class @Inject constructor (callBack: Callback): RecyclerView.Adapter...
Run Code Online (Sandbox Code Playgroud)
当我让 Hilt 知道我想注入我的适配器时,我需要让 Hilt 知道如何提供所有适配器依赖项 - 回调。
在 Dagger 中,我能够通过将 Activity 绑定到我的模块之一中的回调来实现这一点:
@Binds fun bindCallback(activity: MyActivity): Adapter.Callback
Run Code Online (Sandbox Code Playgroud)
Dagger 知道如何绑定 Activity(或任何 Activity/Fragment),然后将其链接到该回调,但是使用 Hilt 它不起作用。
我怎样才能做到这一点?如何使用 Hilt 提供或绑定 Activity 或 Fragment?