Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使剑柄的入口点在单独的类中,而不是一个片段或活动?_Android_Kotlin_Dependency Injection_Dagger Hilt - Fatal编程技术网

Android 如何使剑柄的入口点在单独的类中,而不是一个片段或活动?

Android 如何使剑柄的入口点在单独的类中,而不是一个片段或活动?,android,kotlin,dependency-injection,dagger-hilt,Android,Kotlin,Dependency Injection,Dagger Hilt,我有一个单独的类,我想把Injection放在它的主体中,但不允许将其作为入口点,因为它不是片段或活动,所以Injection必须在片段或活动中 所以注入必须是片段或活动 这是不正确的,只要使用@AndroidEntryPoint注释入口点(无论是片段还是活动),就可以在任何地方进行注入 比如说,, 如果类A是MainActivity的成员,而类B是类A的依赖项。只要MainActivity用@AndroidEntryPoint注释,就可以将类A注入MainActivity,将类B注入类A @

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

所以注入必须是片段或活动

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

比如说,, 如果类A是MainActivity的成员,而类B是类A的依赖项。只要
MainActivity
@AndroidEntryPoint
注释,就可以将类A注入MainActivity,将类B注入类A


@雄蕊识别点
类MainActivity:AppCompatActivity(){
@注入
lateinit变量classA:classA
重写创建时的乐趣(savedInstanceState:Bundle?){
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
classA.test()
}
}
类ClassA@injectconstructor(){
@注入
lateinit变量classB:classB
趣味测试()=classB.test()
}
类ClassB@injectconstructor(){
趣味测试()=println(“你好世界”)
}
输出:你好,世界