java - 空对象引用上的“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
}
解决方案
我做出了最好的猜测,因为您省略了aMethod()
调用的位置。
当 Hilt 在其 中注入Activity
成员时super.onCreate
,我认为您可能aMethod()
就在此之前打电话。
推荐阅读
- api - PRESTASHOP 如何通过 API 检查/获取订单状态
- git - 无法更新 Git 项目
- flutter - 展开 ListVew 的最后一个小部件以填充剩余高度
- lstm - DL4J 我的 LSTM 网络无法预测值
- bash - Bash 5 readline vim 模式前缀未显示
- arrays - 查找用户坐标和坐标数组之间最近的位置
- angular - 修复了 mat-sidenav-content 中的元素
- python - 有没有办法在不使用 HTML/CSS 元素的情况下跟踪 Selenium 中的上传进度?
- r - 按列中的相对差异分组(考虑数据的排序方式)
- terraform - TF 0.12.13 中的 azurerm_client_config 数据提供程序是否损坏?