XML を拡張する際に解析上の問題が発生した後、プログラムによる回避策を実行することにしました。マップはシーンに正しく追加されていますが、後で使用するためにクラス メンバーとしてキャッシュするのに問題があります。爆発点を含むコード スニペットを次に示します。
アクティビティ:
public class MoogliActivity extends FragmentActivity {
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.main);
final SupportMapFragment supportMap = SupportMapFragment.newInstance();
final FragmentTransaction fragmentTransaction = this.getSupportFragmentManager()
.beginTransaction();
fragmentTransaction.add(R.id.maplayout, supportMap);
fragmentTransaction.commit();
mGoogleMap = supportMap.getMap(); // mGoogleMap = null after this
// mGoogleMap.setMyLocationEnabled(true); Obviously NullPointerException
}
}
main.xml
<RelativeLayout
android:id="@+id/maplayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignBottom="@+id/tracking"
android:layout_below="@id/header" />