我正在使用
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();
}
}
最佳答案
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/