【发布时间】:2017-11-05 21:17:52
【问题描述】:
我正在我的项目中实现 dagger 2。为此,我编写了以下代码行:
@Inject
VideoControllerView mediaController;
@Module
public class PlayerModule {
@Provides
VideoControllerView providesVideoControllerView(Context context, VideoControllerView.Controlers cntrls) {
return new VideoControllerView(context, cntrls);
}
}
@Component(modules = PlayerModule.class)
public interface PlayerComponent {
VideoControllerView getVideoControllerView();
}
但是当我尝试编译我的应用程序时,我遇到了以下错误:
Error:(14, 25) error: android.content.Context cannot be provided without an @Provides-annotated method.
android.content.Context is injected at
com.multitv.multitvplayersdk.module.PlayerModule.providesVideoControllerView(context, …)
com.multitv.multitvplayersdk.controls.VideoControllerView is provided at
com.multitv.multitvplayersdk.component.PlayerComponent.getVideoControllerView()
我已经查看了如何解决此问题,但无济于事。请帮帮我。
【问题讨论】:
-
显示您创建
PlayerComponent的代码。 -
只有编译正确才能找到DaggerPlayerComponent。此刻,工作室甚至不允许我编译