如何从backstack重新打开地图片段或弹出窗口

时间:2014-10-16 07:47:07

标签: android google-maps fragment

我现在对地图非常困惑

我正在做的是我打开了一个片段(让我们把它作为A),其中包括另外两个片段。即我的地图片段(片段B)和列表视图的其他片段(片段c)。

每次调用函数时片段A都会打开,片段A调用片段B和C.

我得到的是膨胀地图的例外。

为了避免这种情况,我想从后面的堆栈中弹出地图片段(如果它已经打开)。

这就是我正在做的事情

这是在片段A

中完成的
private void setUpView() {
    SearchResultList returnedList = new SearchResultList();
    FragmentManager fragmentManager = getActivity()
            .getSupportFragmentManager();
    FragmentTransaction fragmentTransaction = fragmentManager
            .beginTransaction();
    fragmentTransaction.addToBackStack(null);
    fragmentTransaction.replace(R.id.search_result_List, returnedList,
            "Search Result List Fragment");

    SearchLocationFragment returnedMap = new SearchLocationFragment();
    Fragment frag = fragmentManager
            .findFragmentByTag("Search Result Map Fragment");
    if (frag == null) {
        fragmentTransaction.add(R.id.search_result_Map, returnedMap,
                "Search Result Map Fragment").commit();
    } else {
        fragmentManager.popBackStack("Search Result Map Fragment",
                FragmentManager.POP_BACK_STACK_INCLUSIVE);
    }
    if (userDataFrag.searchResult.size() > 0) {
        adapter = new AllPostAdapter((BaseActivity) getActivity(),
                userDataFrag.searchResult, false);
        searchSideLV.setAdapter(adapter);
        adapter.notifyDataSetChanged();
    } else {
        // do nothing
    }
}

这是片段A的布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<FrameLayout
    android:id="@+id/search_result_List"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"
    android:visibility="visible" >
</FrameLayout>

<FrameLayout
    android:id="@+id/search_result_Map"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"
    android:visibility="gone" >
</FrameLayout>

</RelativeLayout>

我在My Fragment中有一个按钮,可以在片段B和C之间切换

请帮助我。

提前完成

0 个答案:

没有答案