Google Places Api出错(.addConnectionCallbacks)

And*_*rew 1 android google-api google-places-api android-studio

public class Places_DATA extends ActionBarActivity
{
private GoogleApiClient mGoogleApiClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_places);


    mGoogleApiClient = new GoogleApiClient
            .Builder(this)
            .addApi(Places.GEO_DATA_API)
            .addApi(Places.PLACE_DETECTION_API)
            .addConnectionCallbacks(this)
            .addOnConnectionFailedListener(this)
            .build();
}
Run Code Online (Sandbox Code Playgroud)

问题是我继续使用.addConnectionCallbacks(this)收到错误.该错误表明.ConnectionCallbacks无法添加到类中.我不确定我做错了什么,因为我一直关注谷歌的文档,如下所示:https://developers.google.com/places/android/start

Mat*_*ape 9

你不能使用,this除非是ConnectionCallbacksOnConnectionFailedListener.您可以通过让您的活动实现这些接口来实现这一目标.

public class Places_DATA extends ActionBarActivity
    implements ConnectionCallbacks, OnConnectionFailedListener {
private GoogleApiClient mGoogleApiClient;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_places);

        mGoogleApiClient = new GoogleApiClient
                .Builder(this)
                .addApi(Places.GEO_DATA_API)
                .addApi(Places.PLACE_DETECTION_API)
                .addConnectionCallbacks(this)
                .addOnConnectionFailedListener(this)
                .build();
    }

    @Override
    public void onConnected(Bundle connectionHint) {
        // We are now connected!
    }

    @Override
    public void onConnectionSuspended(int cause) {
        // We are not connected anymore!
    }

    @Override
    public onConnectionFailed(ConnectionResult result) {
        // We tried to connect but failed!
    }
}
Run Code Online (Sandbox Code Playgroud)