在我的活动中,我正在实施以下给定的课程
com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks,
com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener,
com.google.android.gms.common.api.GoogleApiClient.ConnectionCallbacks,
com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener
这两个界面用于通过google plus验证用户.
com.google.android.gms.common.api.GoogleApiClient.ConnectionCallbacks,
com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener
这些是用于获取用户当前位置的
com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks,
com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener
这些类中的方法是相同的.
@Override
public void onConnected(Bundle connectionHint) {}
和
@Override
public void onConnectionFailed(ConnectionResult connectionResult) {}
由于这些方法具有相同的参数和相同的返回类型,因此在同一类中不能有两个.所以我认为我需要确定从Bundle或ConnectionResult调用了哪个接口.我怎么能这样做?我的意思是我需要检查哪个关键值?如果需要任何澄清请评论. 谢谢 解决方法: 将接口实现为匿名成员声明怎么样?
public class Ac {
private GooglePlayServicesClient.OnConnectionFailedListener psConnectionFailedListener =
new GooglePlayServicesClient.OnConnectionFailedListener() {
@Override
public void onConnectionFailed(ConnectionResult connectionResult) {
// implementation
}
};
private GooglePlayServicesClient.ConnectionCallbacks psConnectionCallbacks =
new GooglePlayServicesClient.ConnectionCallbacks() {
@Override
public void onConnected(Bundle bundle) {
// implementation
}
@Override
public void onDisconnected() {
// implementation
}
};
private GoogleApiClient.ConnectionCallbacks googleConnectionCallbacks =
new GoogleApiClient.ConnectionCallbacks() {
@Override
public void onConnected(Bundle bundle) {
// implementation
}
@Override
public void onConnectionSuspended(int i) {
// implementation
}
};
private GoogleApiClient.OnConnectionFailedListener googleConnectionFailedListener =
new GoogleApiClient.OnConnectionFailedListener() {
@Override
public void onConnectionFailed(ConnectionResult connectionResult) {
// implementation
}
};
}
来源:https://www./content-1-293651.html
|