Ich habe dagger2 in meinem Projekt verwendet, aber das Injektionsfeld ist immer Null. Hier ist der Code.dagger2 Inject Feld NullPointerException
Entschuldigung, mein Englisch ist arm. Vielen Dank im Voraus.
Modul
@Module
public class RetrofitModule {
@Provides
@Singleton
Retrofit provideRetrofit() {
return new Retrofit.Builder().build();
}
}
Komponente
@Component(modules = RetrofitModule.class)
public interface RetrofitComponent {
void inject(Activity activity);
}
Und in MainActivity, schreibe ich diese
DaggerRetrofitComponent.builder().build().inject(this);
Aber das Retrofit ist immer null. Wie kann ich es lösen?
Wo nennt man 'inject()'? – Egor
MainActivity - onCreate() –
Es sieht auch so aus, als würden Sie vergessen, die Instanz von 'RetrofitModule' zu übergeben, wenn Sie die Komponente erstellen, sollten Sie' .retrofitModule (new RetrofitModule()) 'aufrufen. – Egor