gpt4 book ai didi

android - 由于类转换异常,Dagger 2 注入(inject)失败

转载 作者:太空狗 更新时间:2023-10-29 13:16:29 26 4
gpt4 key购买 nike

我正在使用 dagger 进行依赖注入(inject),但有时我会遇到此类强制转换异常:

Caused by: java.lang.ClassCastException: android.app.Application cannot be   
cast to myPackage.MyApplication
at myPackage.ui.activity.BaseActivity.injectAppComponent(BaseActivity.java:63)
at myPackage.ui.activity.BaseActivity.onCreate(BaseActivity.java:42)

这是我进行注入(inject)的基本 Activity 方法:

protected void injectAppComponent() {
((MyApplication) getApplication()).getAppComponent().inject(this);
}

应用类

public class MyApplication extends Application {

private AppComponent appComponent;

private void injectComponent() {
appComponent = DaggerAppComponent.builder()
.appModule(new AppModule(this)).build();
appComponent.inject(this);
}


public AppComponent getAppComponent() {
return appComponent;
}
}

在我的 list 中,我这样定义应用名称:

application
android:name="myPackage.MyApplication"

但我仍然遇到这个问题,是否知道为什么会这样?

最佳答案

您可能还没有在寻找答案,但我刚遇到这个问题,我的问题是我试图注入(inject)的类的接口(interface)是包私有(private)的

我将其更改为public,一切正常。

关于android - 由于类转换异常,Dagger 2 注入(inject)失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34228233/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com