繁体   English   中英

空对象引用上的Android -boolean com.google.android.gms.common.api.GoogleApiClient.isConnected()'

[英]Android -boolean com.google.android.gms.common.api.GoogleApiClient.isConnected()' on a null object reference

我在我的片段类上收到错误消息

java.lang.NullPointerException:尝试在fragment.HomeFragment.onResume上的空对象引用上调用虚拟方法'boolean com.google.android.gms.common.api.GoogleApiClient.isConnected()'

这是我在HomeFragment上的部分代码

private GoogleApiClient mGoogleApiClient;


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (getArguments() != null) {
        mCurrentLocation = savedInstanceState.getParcelable(KEY_LOCATION);
        mCameraPosition = 
savedInstanceState.getParcelable(KEY_CAMERA_POSITION);
    }        buildGoogleApiClient();
}

@Override
public void onResume() {
    super.onResume();
    if (mGoogleApiClient.isConnected()) {
        getDeviceLocation();
    }
    updateMarkers();
}

    private synchronized void buildGoogleApiClient() {
    GoogleApiClient.Builder builder = new GoogleApiClient.Builder(getActivity());
    mGoogleApiClient = builder.build();
    //builder.enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */);
    builder.addConnectionCallbacks(this);
    builder.addApi(LocationServices.API);
    builder.addApi(Places.GEO_DATA_API);
    builder.addApi(Places.PLACE_DETECTION_API);
    builder.build();
    createLocationRequest();
}

我也实施了

  1. OnMapReadyCallback
  2. GoogleApiClient.ConnectionCallbacks
  3. GoogleApiClient.OnConnectionFailedListener
  4. LocationListener的
  5. DirectionFinderListener

有人可以帮我弄这个吗?

您需要保留对您正在构建的GoogleApiClient实例的GoogleApiClient 因此应该是:

private void buildGoogleApiClient() {
    mGoogleApiClient = new GoogleApiClient.Builder(getActivity())
        .addConnectionCallbacks(this)
        .addApi(LocationServices.API)
        .addApi(Places.GEO_DATA_API)
        .addApi(Places.PLACE_DETECTION_API)
        .build();
    createLocationRequest();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM