首页 > 解决方案 > 空对象引用上的“java.lang.Object javax.inject.Provider.get()”

问题描述

为什么以下代码模板出现空指针异常?我做错了什么或留下来做什么?

注解

@Qualifier
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {}

模块

@Module
@InstallIn(ActivityComponent.class)
public interface MyModule {
   @Provide
   @MyAnnotation 
   public static ConfirmationOverlay provideConfirmation() {
       return new ConfirmationOverlay();
   }
}

像下面这样使用

@Inject @MyAnnotation  Provide<ConfirmationOverlay> confOverlay;

............


private void aMethod() {
   confOverlay.get(); ======> throws null pointer exception 
}

标签: javaandroidnullpointerexceptiondagger

解决方案


我做出了最好的猜测,因为您省略了aMethod()调用的位置。

当 Hilt 在其 中注入Activity成员时super.onCreate,我认为您可能aMethod()就在此之前打电话。


推荐阅读