在片段列表中映射

时间:2016-11-29 10:40:50

标签: android google-maps android-fragments

我正在制作一个应用程序,我只使用单个活动和更多片段,当我将一个片段转到另一个具有列表的片段和每个项目都有地图按钮时,我第一次点击它然后它打开地图但是当我们再次单击地图按钮时,它会给出gsm片段膨胀错误。 我不知道为什么它会在第一次创建地图后再次打开时出现此错误,我们会收到错误。

@echo off&setlocal
for /f "tokens=1,2,3,* delims=,/ " %%i in ('type "kam3.txt"') do (
echo %%k/%%i/%%j,%%l
)>"newfile.txt"

2 个答案:

答案 0 :(得分:0)

这是由于重复片段,在closeButton上删除它

try {
        android.app.Fragment fragment = getFragmentManager().findFragmentById(R.id.map);
        if (fragment != null) {
            android.app.FragmentTransaction ft = getFragmentManager().beginTransaction();
            ft.remove(fragment);
            ft.commit();
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

答案 1 :(得分:0)

删除 ListFragment 后,您必须从充气列表项中删除地图。此外,您可以在 ListFragment onCreate之前检查地图是否充气,并在充气 ListFragment 布局之前移除地图。

@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    SupportMapFragment supportMapFragment = ((SupportMapFragment) getActivity().getSupportFragmentManager().findFragmentById(R.id.map));
    if (supportMapFragment != null)
        getActivity().getSupportFragmentManager().beginTransaction().remove(supportMapFragment).commit();
}

在销毁片段时删除地图。像,

@Override
public void onDestroyView() {
    super.onDestroyView();
    SupportMapFragment supportMapFragment = ((SupportMapFragment) getActivity().getSupportFragmentManager().findFragmentById(R.id.map));
    if (supportMapFragment != null && getActivity() != null) {
        try {
            getActivity().getSupportFragmentManager().beginTransaction().remove(supportMapFragment).commitAllowingStateLoss();
        } catch (Exception e) {

        }
    }