【发布时间】:2015-07-02 13:29:37
【问题描述】:
我正在使用
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 之前它工作正常,但它在棒棒糖版本中是 null 我知道我可以使用 getchildfragmentmanager 但我无法扩展片段类,因为我的项目几乎完成了,所以我无法做出大的改变。
在不扩展片段类的情况下帮助我。
更新的代码对我也不起作用
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();
}
}
【问题讨论】:
-
你在哪里将片段附加到活动中?提交事务,然后像 ianhanniballake 说的那样使用 getMapAsync,然后您将直接在回调中收到您的 GoogleMap 实例。
-
我无法将片段扩展到活动,因为我正在扩展 BaseActivity,它是 Activity 的基类,并且 BaseActivity 有一些我必须在我的主 Activity 中使用的东西。
标签: java android google-maps-android-api-2 supportmapfragment