【发布时间】:2014-08-09 02:16:32
【问题描述】:
我在自己的 Fragment 中有 SupportMapFragment。当我第二次显示此片段时,它崩溃了。
起初我尝试在 XML 中添加 SupportMapFragment,但遇到了与 here 描述的相同的问题。
所以我尝试以编程方式添加它:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.map_fragment, container, false);
isGooglePlay=isGooglePlay();
if(isGooglePlay){
mMapFragment = SupportMapFragment.newInstance();
FragmentTransaction fragmentTransaction =
getChildFragmentManager().beginTransaction();
fragmentTransaction.add(R.id.map_fragment_mapRoot, mMapFragment);
fragmentTransaction.commit();
map = mMapFragment.getMap();
if (map != null){
map.animateCamera(CameraUpdateFactory.zoomTo(100F));
}
}
return view;
}
它在提交事务的行崩溃。
FATAL EXCEPTION: main
Process: com.sabatsoft.sgs14remote, PID: 23914
java.lang.IllegalStateException: Activity has been destroyed
at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1365)
at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:595)
at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:574)
at com.sabatsoft.sgs14remote.fragment.FlightMapFragment.onCreateView(FlightMapFragment.java:45)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:1500)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1467)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:440)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
【问题讨论】:
标签: android supportmapfragment