Google Maps API に問題があります。画面を回転させた後、アクティビティへの間違った/古い参照があります。私は「mMapFragment.setRetainInstance(true);」を使用しています。「pact」はアクティビティです。ロギングにより、アクティビティのハッシュコードが得られますが、それらは同じではありません(例を見てください)。
private void setUpMapIfNeeded() {
if (map != null) {
Log.d(H.TAG, "setUpMapifNeeded" );
Log.d(H.TAG, pact.toString() + " set new onclicklistener");
map.setOnInfoWindowClickListener(new OnInfoWindowClickListener(){
@Override
public void onInfoWindowClick(Marker marker) {
Log.d(H.TAG, pact.toString() + " click");
}
});
}
}
ログイン例
回転前:
- MainApp@422fa1c0 MainApp が作成されました
- MainApp@422fa1c0 新しい onclicklistener を設定
- MainApp@422fa1c0 クリック
回転後:
- MainApp@42b291f0 MainApp が作成されました
- MainApp@42b291f0 が新しい onclicklistener を設定
- MainApp@ 422fa1c0クリック
さらにコードが必要ですか?