提供的方法必须 return 一个值(不是 void)

Provides methods must return a value (not void)

当我尝试使用 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)
}

@Provides 注释意味着您必须回馈一些东西。你没有 return 输入 messageConnected().

您在 Dagger (toast) 中做 UI 事情,这很奇怪,因为 dagger 的职责是提供依赖项。

这里 link 简单介绍了 Dagger 以及如何设置: https://medium.com/@skshayne/understanding-dagger-as-a-beginner-8ffe29bad429