java - 如何在不扩展 fragment 类的情况下使用 getchildfragmentmanager ?

标签 java android google-maps-android-api-2 supportmapfragment

我正在使用

class baseactivity extends Activity
{
    //some stuffs is here, so i cannot Extend Fragment  
}
class activity extends baseactivity
{
    GoogleMap map=((MapFragment) getFragmanentManager().findFragmentById(R.id.map)).getMap();

    if(map!=null)
        Log.e("map is not null","map was unable to initialize");//printing till kitkat version
    else
        Log.e("map is initialize","successfully initialize");//printing in lollipop
}

在 kitkat 之前它工作正常,但在 Lollipop 版本中它是 null 我知道我可以使用 getchildfragmentmanager 但我无法扩展 fragment 类,因为我的项目即将完成,所以我无法进行重大更改。 帮助我不要扩展 fragment 类。

更新的代码也不适合我

class Baseactivity extends Activty
{
    //some stuff
}
class parent extends Baseactivity implements OnMapLoadedCallback
{
    GoogleMap map;
    void oncreate(Bundle savedIntanceState)
    {
        MapFragment mapfragment;
        mapfragment.setOnMapLoaderCallback(this);
        //map.addmarker.
    }

    @Override
    public void onMapLoaded()
    {
        map=((MapFragment)getMapFragment.findFragmentById(R.id.map)).getMap();
    }
}

最佳答案

根据 getMap() documentation :

This method is deprecated. Use getMapAsync(OnMapReadyCallback) instead. The callback method provides you with a GoogleMap instance guaranteed to be non-null and ready to be used.

getMap() 不保证返回非空映射,因为需要一些时间来准备 - 使用 OnMapReadyCallback并在回调中执行 map 初始化步骤。

关于java - 如何在不扩展 fragment 类的情况下使用 getchildfragmentmanager ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29839092/

相关文章:

java - 将 ArrayList<HashMap<String, String>> 追加到另一个 ArrayList<HashMap<String, String>>

java - 打开应用程序, map 放大到当前位置

java - 检查 fragment 当前是否可见

android - 每种构建类型的不同依赖集

android - 如何以有效的方式从点集合创建三角形?

android - 如何获取谷歌地图的当前填充(Android API)

java - 用于存储单词列表的节省空间的数据结构?

java - 如何在 tomcat 中使用 realm login-config 使登录无效并登录

java - 无法检测这是否是 BST

java - 在indexOf和lastIndexOf中使用正则表达式