Java Model.Result.getFormatted_address()';关于空对象引用
嗨,这是我在这里的第一个问题,我正在开发一个google Nearest place应用程序,每次我点击marker place获取详细信息时都会遇到崩溃,是的,我已经在google开发者API中启用了计费功能 LogcatJava Model.Result.getFormatted_address()';关于空对象引用,java,android,Java,Android,嗨,这是我在这里的第一个问题,我正在开发一个google Nearest place应用程序,每次我点击marker place获取详细信息时都会遇到崩溃,是的,我已经在google开发者API中启用了计费功能 Logcat java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.example.androidnearbyplaces.Model.Result.getFormat
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) {
}
});
mService.getDetailPlace(getPlaceDetailUrl(Common.currentResult.getPlace_id()).enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
mPlace=response.body();
place_address.setText(mPlace.getResult().getFormatted_address());
place_name.setText(mPlace.getResult().getName());
}
@凌驾
失败时公共无效(调用调用,可丢弃的t){
}
});
快速解释:
mPlace.getResult()
正在返回null
。正在引发NullPointerException,因为您无法执行null.getFormattedAddress()
。在Java中,不能对null
调用任何方法
为什么它返回null
?如果没有看到更多的代码,我无法确定
请阅读有关NullPointerException的更多信息,可能在中