首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MapFragment在框架内,当父活动开始时,onPause MapFragment变为null

MapFragment在框架内,当父活动开始时,onPause MapFragment变为null
EN

Stack Overflow用户
提问于 2015-02-26 20:51:07
回答 1查看 72关注 0票数 0

我有一个活动ACTIVITY=>Fragment=>MapFragment

在活动的onPause上,MapFragment变为null。

下面是我使用的方法:

代码语言:javascript
复制
 private MapFragment getMapFragment() {
        FragmentManager fm = null;

        Log.d("", "sdk: " + Build.VERSION.SDK_INT);
        Log.d("", "release: " + Build.VERSION.RELEASE);

        if (Build.VERSION.SDK_INT < 21) {
            Log.d("framentmgr", "using getFragmentManager");
            fm = getFragmentManager();
        } else {
            Log.d("framentmgr", "using getChildFragmentManager");
            fm = getChildFragmentManager();
        }
//        fm = getChildFragmentManager();
        fm.beginTransaction();

        MapFragment mapFragment = (MapFragment) fm.findFragmentById(R.id.fragment_map);


        return mapFragment;
    }

为什么会发生这种情况,有什么解决方案或原因吗?

EN

回答 1

Stack Overflow用户

发布于 2015-02-27 14:21:37

谢谢,但我也收到了同样的错误。所以我现在用一种巧妙的方式解决了这个问题,在另一个类中将MapFragment作为公共静态变量。

代码语言:javascript
复制
public static MapFragment mapFragment;

在Fragment类中

代码语言:javascript
复制
private MapFragment getMapFragment() {
        FragmentManager fm = null;

        Log.d("", "sdk: " + Build.VERSION.SDK_INT);
        Log.d("", "release: " + Build.VERSION.RELEASE);

        if (Build.VERSION.SDK_INT < 21) {
            Log.d("framentmgr", "using getFragmentManager");
            fm = getFragmentManager();
        } else {
            Log.d("framentmgr", "using getChildFragmentManager");
            fm = getChildFragmentManager();
        }
//        fm = getChildFragmentManager();
        fm.beginTransaction();

        MapFragment mapFragment = null;
        if(MainActivity.mapFragment==null)
            mapFragment = (MapFragment) fm.findFragmentById(R.id.fragment_map);
        else
            return MainActivity.mapFragment;


        return mapFragment;
    }
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28742975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档