android - android.content.Context.getSystemService(java.lang.String)' 在空对象引用 Retrofit
问题描述
我正在尝试在我的 Kotlin Android 项目中使用 Retrofit 实现 API。此 API 尚未在项目的另一个活动中使用,并且可以正常工作。实际情况只是有点不同。我正在尝试在打开 web 视图的活动中实现此 API,并在 JS 的回调中调用改造实例和 API。
在这种情况下,API 不会启动并且我收到一个错误:
尝试在空对象引用上调用虚拟方法“java.lang.Object android.content.Context.getSystemService(java.lang.String)”
与此问题相关的任何想法?谢谢
我检查了所有链接到 API 的对象以防止所有空指针。我也尝试过调用 api,UiThread
但没有任何帮助。
//this is the request creation
override fun callMonthlySavingApi(response: ChangeMonthlySavingResponse) {
iView.showLoader()
val request = UserSettingsRequest.RequestBuilder()
request.monthlySaving = response.value
interactor.updateMonthlySaving(request.createRequestParams(), this)
}
//this is the api implementation
override fun updateMonthlySaving(
request: UserSettingsRequest,
listener: ChangeMonthlySavingMVP.ChangeMonthlySavingModel.onUpdateMonthlySavingListener
) {
val response: Single<UserSettingsResponse> = apiClient.updateUser(
ApiUtils.getEndpoint(ApiUtils.ApiKey.POST_UPDATE_USER_SETTINGS),
request.getMapRequest()
)
response.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
{ data: UserSettingsResponse? ->
if (data != null && !data.checkError()) {
listener.onUpdateMonthlySavingFinish()
} else {
listener.onUpdateMonthlySavingInternalError(data?.error?.message ?: "Error")
}
},
{ throwable: Throwable? ->
//here i receive the error and it seems linked to nothing
//ERROR:
//Attempt to invoke virtual method 'java.lang.Object //android.content.Context.getSystemService(java.lang.String)' on a null //object reference
if (throwable != null) {
listener.onUpdateMonthlySavingError(throwable)
}
}
)
}
这是错误:
尝试在空对象引用上调用虚拟方法“java.lang.Object android.content.Context.getSystemService(java.lang.String)”
解决方案
推荐阅读
- swift - UIImage 生成的 base64 大于它引用的(本地)base64 图像
- spring - 无法推断 org.springframework.boot.actuate.autoconfigure.beans.BeansEndpointAutoConfiguration.beansEndpoint 的 bean 类型
- android - 如何制作像google home app一样的底部应用栏或底部导航栏?
- c# - Winsock IOCP 断开连接洪水的奇怪行为
- java - 关闭另一个活动时如何阻止android webview活动重新加载
- python - 从 Pandas Dataframe 中提取后的 Numpy 数组形状
- swift - 如何将卡片视图设置为全屏视图(反之亦然)?
- cypress - 如何在cypress中登录文件?
- python - 拆分为列表列表并将其特定元素转换为python中的整数
- android - 如何实现像google news app一样的android占位符效果