私は、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 メソッドでアクセスすると空になります。どこが間違っていますか?助けてください。