我目前遇到了 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!!!");
}
}
答案 0 :(得分:2)
解决!
问题来自我使用 getSupportFragmentManager
而不是 getChildFragmentManager
由于我使用的嵌套设计,我只是在我的ViewPager实例中更改了它并解决了所有问题:)
希望它对任何人都有帮助。