如何使分离类中Hilt的入口点不是片段或活动



我有一个单独的类,我想把注入放在它的主体中,但不允许它成为入口点,因为它不是片段或活动,所以注入必须在片段或活动中

因此注入必须在片段或活动中

这是不正确的,只要EntryPoint(无论是片段还是活动(用@AndroidEntryPoint注释,就可以在任何地方进行注入。

例如,如果您有作为MainActivity成员的ClassA和作为ClassA依赖项的ClassB。因此,只要MainActivity@AndroidEntryPoint进行注释,您就可以将ClassA注入MainActivity,将ClassB注入ClassA。


@AndroidEntryPoint
class MainActivity : AppCompatActivity() {
@Inject
lateinit var classA: ClassA
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
classA.test()
}
}

class ClassA @Inject constructor(){
@Inject
lateinit var classB: ClassB
fun test() = classB.test()
}

class ClassB @Inject constructor(){
fun test() = println("Hello World")
}

输出:Hello World

最新更新