-1

マップフラグメントをタブ付きアクティビティに表示せずにロードしたいので、後でマップフラグメントを遅滞なく開始できます。
私はgetFragmentManager().findFragmentbyId()getSupportFragmentManager().findFragmentbyId()を使用してみました。タブ付きアクティビティのMapFragmentがNULL値を取得する

また、私はSectionPagerAdapterからSupportMapFragment.newInstance()を返そうとしましたが、私は望ましくないマップフラグメントでページ全体を置き換えました。

私も

MapFragment mapFragment = MapFragment.newInstance(); 
      mapFragment.getMapAsync(new OnMapReadyCallback() { 
       @Override 
       public void onMapReady(GoogleMap googleMap) { 
        Log.d("intro", "onMapReady"); 
       } 
      }); 

を試してみましたが、それはまた、動作しません。 これを実現するのを手伝ってください。

答えて

0

私はそれをしました。 マップを作成します。フラグメントを動的に分割してレイアウトに配置します(私の場合はFrameLayout)。そのレイアウトの可視性を「なくなった」と設定します。 XMLで

 SupportMapFragment mapFragment = SupportMapFragment.newInstance(); 
     FragmentManager fm = getChildFragmentManager(); 
     fm.beginTransaction().replace(R.id.map1, mapFragment).commit(); 
     mapFragment.getMapAsync(new OnMapReadyCallback() { 
      @Override 
      public void onMapReady(GoogleMap googleMap) { 
       Log.d("intro", "onMapReady"); 
      } 
     }); 

<FrameLayout 
    android:id="@+id/map1" 
    android:visibility="gone" 
    android:layout_width="1dp" 
    android:layout_height="1dp"/> 
関連する問題