回到ViewPager,我的GoogleMap片段不可见

时间:2014-04-02 10:22:28

标签: android google-maps android-fragments supportmapfragment android-nested-fragment

我目前遇到了 ViewPager 的问题。我在第一个标签中有一个ViewPager Listview ,在第二个标签中有一个FrameLayout来使用 Google Maps Fragment < / strong>(均来自布局通过不同的Fragment =&gt; ResultsListFragment ResultsMapFragment 进行充气。

当我更改 ViewPager 片段的片段时,它首次运行,加载数据等...当我触摸后退按钮时,我返回我之前的片段(一切正常)但是当我第二次启动时, ResultsListFragment 按照预期创建,但不是 ResultsMapFragment < / EM> 即可。 SupportMapFragment 是使用方法findFragmentById()创建并找到的,但不可见。

有没有人有这个问题?或者知道如何解决它?


这里的代码进入我的ResultsMapFragment:

    mView = inflater.inflate(R.layout.fragment_pager_map_results, null, false);
    if (mView != null) {

        SupportMapFragment mMapFragment = ((SupportMapFragment) getSherlockActivity().getSupportFragmentManager().findFragmentById(R.id.map_fragment));
        if (mMapFragment == null) {
            FragmentManager fm = getFragmentManager();
            FragmentTransaction ft = fm.beginTransaction();
            mMapFragment = SupportMapFragment.newInstance();
            ft.replace(R.id.map_fragment, mMapFragment).commit();
        }

        if (mMapFragment != null) {
            mMap = mMapFragment.getPolarisMap();
            if (mMap != null) {
                Log.w(TAG, "onCreateView| " + "Found the google map by Polaris!!!");
                //// CODE TO ANIME VIEW, ETC...>>>

            } else
                Log.e(TAG, "onCreateView| " + "Ain't found the map by Polaris!!!");

        }

    }

1 个答案:

答案 0 :(得分:2)

解决!

问题来自我使用 getSupportFragmentManager 而不是 getChildFragmentManager 由于我使用的嵌套设计,我只是在我的ViewPager实例中更改了它并解决了所有问题:)

希望它对任何人都有帮助。