java - 空对象引用上的 Model.Result.getFormatted_address()'
问题描述
嗨,这是我在这里的第一个问题,我正在使用谷歌附近的地方应用程序,每次单击标记位置以获取详细信息时都会崩溃,是的,我已经在谷歌开发者 API 中启用了计费
日志猫
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.example.androidnearbyplaces.Model.Result.getFormatted_address()' on a null object reference
at com.example.androidnearbyplaces.ViewPlace$2.onResponse(ViewPlace.java:88)
at retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall$1.lambda$onResponse$0$DefaultCallAdapterFactory$ExecutorCallbackCall$1(DefaultCallAdapterFactory.java:81)
at retrofit2.-$$Lambda$DefaultCallAdapterFactory$ExecutorCallbackCall$1$3wC8FyV4pyjrzrYL5U0mlYiviZw.run(Unknown Source:6)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
这是 ViewPlace.java:88
mService.getDetailPlace(getPlaceDetailUrl(Common.currentResult.getPlace_id())).enqueue(new Callback<PlaceDetail>() {
@Override
public void onResponse(Call<PlaceDetail> call, Response<PlaceDetail> response) {
mPlace = response.body();
place_address.setText(mPlace.getResult().getFormatted_address());
place_name.setText(mPlace.getResult().getName());
}
@Override
public void onFailure(Call<PlaceDetail> call, Throwable t) {
}
});
解决方案
快速解释:
mPlace.getResult()
正在回归null
。NullPointerException 被抛出,因为你不能做null.getFormattedAddress()
。您不能null
在 Java 中调用任何方法。
为什么会返回null
?如果没有看到更多代码,我无法确定。
请阅读更多关于 NullPointerException 的信息,也许在这里。
推荐阅读
- flutter - 当 ComboBox 更改时(在 Flutter 中),如何更改 TextFormField 中的文本?
- vue.js - 将路由器值作为道具传递
- redirect - 在 React App Router 中重定向页面后重新加载 URL
- python-3.x - 如何在不和谐机器人上使用斜杠命令?
- bash - 如何在 bash 中测试变量是否为关联数组?
- python - 如何将for循环更改为while循环
- python - 将 pandas DataFrame() 插入 MySQL 表会引发 ProgrammingError
- java - 无法使用 Java Spring 完成发布
- spring - 如何在spring data jpa派生查询中使用带有嵌入字段的order by子句?
- docker - 无法访问 kubernetes nodeport 服务