我有一个活动,其中有两个片段。加载应用程序时,带有mapview的片段A由transaction.add(R.id.fragment_container, fragmentA).commit();
我有一个侧边菜单,当我选择一个项目时,第二个片段被加载。
Fragment fragmentB = new FragmentB();
Bundle args = new Bundle();
fragmentB .setArguments(args);
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.fragment_container, fragmentB );
transaction.addToBackStack(null);
transaction.commit();
但是当我按下fragmentB的后退按钮时,应用会退出。
所以我将以下代码添加到MainActivity
@Override
public void onBackPressed() {
if (getFragmentManager().getBackStackEntryCount() > 0 ){
getFragmentManager().popBackStack();
} else {
super.onBackPressed();
}
}
现在片段A加载了,但是地图是静态的,并且它没有为当前位置设置动画,尽管我有代码将相机移动到onCreateView方法中的当前位置(onCreateView()里面的setUpMapIfNeeded())
private void setUpMapIfNeeded() {
if (mMap == null) {
mMap = mapView.getMap();
}
if(mMap!=null){
mMap.setMyLocationEnabled(true);
CameraPosition cameraPosition = new CameraPosition.Builder().target(new LatLng(0, 0)).zoom(17).build();
mMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
}
}
所有生命周期方法都在fragmentA中调用,但mapview没有显示当前位置。
任何帮助表示感谢。
答案 0 :(得分:0)