1

我目前的ViewPager. 我在第一个选项卡 a 中有一个 ViewPager ,在第二个选项卡中有Listview一个 FrameLayout 来使用Google Maps Fragment(两者都通过不同的Fragment=>ResultsListFragment和从布局膨胀调用ResultsMapFragment)。

当我为我的片段更改ViewPager片段时,它第一次工作,它加载数据等......当我触摸后退按钮时,我返回到我的前一个片段(一切正常)但是当我第二次启动时,ResultsListFragment是按预期创建的,但不是ResultsMapFragment. 是使用SupportMapFragmentfindFragmentById() 方法创建和找到的,但不可见。

有人有这个问题吗?或者知道我该如何解决?


这里将代码放入我的 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!!!");

        }

    }
4

1 回答 1

2

解决了!

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

希望它会帮助任何人。

于 2014-04-03T10:07:38.337 回答