2016-08-27 14 views
2

ナビゲーション・ドロワー・アクティビティーがあり、フラグメントは通常どおりナビゲーション・ドロワーの異なるアイテムに使用されます。ナビゲーションドロワーの最初の項目にはタブレイアウトがあります。タブレイアウトは、ビューページを使用して実装されています。このビューページ内にマップがあります。私が何をしたいかフラグメント内のフラグメント内のgetSupportFragmentManager()

は、コール

SupportMapFragment mapFragment = (SupportMapFragment) getActivity().getSupportFragmentManager().findFragmentById(R.id.map); 

である。しかしmapFragmentは常にnullです。

多くの方法を適用して2時間以上を費やしましたが、成功できませんでした。

私の知るところではここの問題はこれです。 getActivity()メソッドは、ナビゲーション・ドロワ・アクティビティを返します。 getSupportFragmentManager()は、ナビゲーションドロワーに添付されたフラグメントを返します。しかし地図はその断片にはありません。マップは、ビューページャ内のフラグメント内にあります。

誰でもこれを達成する方法を提案できますか?

答えて

5

使用このgetChildFragmentManager();は、以下のように、私はコードを使用することができましたFragment

-1

内部FragmentManagerを取得する:

private void setupViewPager(ViewPager viewPager) { 
    ViewPagerAdapter adapter = new ViewPagerAdapter(getChildFragmentManager()); 
    adapter.addFragment(new OneFragment(), "ONE"); 
    adapter.addFragment(new TwoFragment(), "TWO"); 
    adapter.addFragment(new ThreeFragment(), "THREE"); 
    viewPager.setAdapter(adapter); 
} 
関連する問題