我在片段中构建谷歌api客户端时收到错误。我得到的错误是;
java.lang.ClassCastException: net.janusjanus.we4x4_v1.upload cannot be cast to com.google.android.gms.common.api.GoogleApiClient$OnConnectionFailedListener
我已经实施了GoogleApiClient.ConnectionCallbacks
,GoogleApiClient.OnConnectionFailedListener
和LocationListener
并要求构建如下;
mGoogleApiClient = new GoogleApiClient.Builder(getActivity())
.addConnectionCallbacks(this)
.addOnConnectionFailedListener((GoogleApiClient.OnConnectionFailedListener) getActivity())
.addApi(LocationServices.API)
.build();
首先我在声明新的GoogleApiClient.Builder时遇到了问题,我将其声明为;
mGoogleApiClient = new GoogleApiClient.Builder(this)
强调为错误,因此我必须尝试使用getActivity()
和getContext()
声明它的几种方法。但是我得到了同样的错误?
关于我在这里做错了什么以及正确的方法吗?
好吧,在我的情况下,我必须声明GoogleApiClient.Builder如下;
mGoogleApiClient = new GoogleApiClient.Builder(UploadPictures.this.getContext())
其中UploadPictures是片段名称。
希望这可能对某人有所帮助。
实现GoogleApiClient.ConnectionCallbacks,GoogleApiClient.OnConnectionFailedListener和LocationListener
@Override
public void onConnectionFailed(ConnectionResult result) {
}
@Override
public void onConnected(Bundle arg0) {
}
@Override
public void onConnectionSuspended(int arg0) {
}
@Override
public void onLocationChanged(Location location) {
}
然后将代码更改为:
mGoogleApiClient = new GoogleApiClient.Builder(getActivity())
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(LocationServices.API)
.build();