【发布时间】:2020-08-21 22:11:24
【问题描述】:
当我尝试使用 Dagger 2 时出现此错误,我该怎么办,我在 Dagger 2 new 中
e: /Users/stepanbezhuk/Documents/Work/Rebus/Movie/app/build/tmp/kapt3/stubs/debug/com/popularmovies/movies/Service/MessageWorking.java:11: error: @Provides methods must return a value (not void)
public final void messageConnected$app_debug(boolean networkStatus) {
模块 1
@Module
open class MessageWorking @Inject constructor(private val context: Context) {
@Provides
internal fun messageConnected(networkStatus: Boolean) {
if (networkStatus) {
showMessage(message = "Connect")
} else {
showMessage(message = "Disconnect")
}
}
private fun showMessage(message: String) {
return Toast.makeText(context, message, Toast.LENGTH_SHORT).show()
}
}
界面
@Component(modules = arrayOf(MessageWorking::class))
@Singleton
interface DaggerComponent {
fun messageConnected(networkStatus: Boolean)
}
【问题讨论】:
-
你想做什么?我想你不知道 Dagger2 的概念以及我们为什么使用 Dagger2。 Dagger2 使用提供者来创建所需对象的实例。所以它必须返回一个值
标签: java android kotlin dagger-2