1. ホーム
  2. android

[解決済み] フラグメントのgetSupportFragmentManager()にアクセスするにはどうすればよいですか?

2022-04-15 23:57:33

質問

FragmentActivityの中でマップフラグメントを使いたいのですが、どうすればいいですか? サポートフラグメントマネージャーが、マップフラグメントにアクセスできない。

 if (googleMap == null) {
            googleMap = ((SupportMapFragment) getSupportFragmentManager()
                    .findFragmentById(R.id.map1)).getMap();

            // check if map is created successfully or not
            if (googleMap == null) {
                Toast.makeText(getApplicationContext(),
                        "Sorry! unable to create maps", Toast.LENGTH_SHORT)
                        .show();
            }
        }

            // create marker
            MarkerOptions marker = new MarkerOptions().position(
                    new LatLng(latitude, longitude)).title("Hello Maps ");

            CameraPosition cameraPosition = new CameraPosition.Builder()
                    .target(new LatLng(latitude, longitude)).zoom(15).build();

            googleMap.animateCamera(CameraUpdateFactory
                    .newCameraPosition(cameraPosition));

            // adding marker
            googleMap.addMarker(marker);

解決方法は?

を直接呼び出すことができます。

getParentFragmentManager()  

でフラグメントマネージャを取得します。なお getFragmentManager() も動作しますが、非推奨としてマークされています。