0

私は、Google I/O 2013 でローンチされたジオフェンス API に取り組んでいます。ジオフェンスの作成と監視

上記のリンクに示されている例には、次のようなメソッドがあります。

 public void createGeofences() {
    ........
    mGeofenceList.add(mUIGeofence1.toGeofence());
    mGeofenceList.add(mUIGeofence2.toGeofence());
}

このメソッドは私のアクティビティの onActivityResult 内にあり、同じアクティビティにジオフェンスを保存して mLocationClient.connect() を呼び出すボタンがあります -> 例の addGeofences() メソッドと同じです。

@Override
private void onConnected(Bundle dataBundle) {
    ...
    switch (mRequestType) {
        case ADD :
            // Get the PendingIntent for the request
            mTransitionPendingIntent =
                    getTransitionPendingIntent();
            // Send a request to add the current geofences
            mLocationClient.addGeofences(
                    mGeofenceList, pendingIntent, this);
        ...
    }
}

このメソッドでは、mGeofenceList は空であってはなりません。これは、以前に onActivityResult メソッドで更新されているためです。

問題:変数 mGeofenceList は onActivityResult で更新されますが、onConnected メソッドでアクセスすると空になります。どこが間違っていますか?助けてください。

4

1 に答える 1