Android 获取错误:已添加片段?
为什么会返回“碎片已添加”错误并导致应用程序崩溃Android 获取错误:已添加片段?,android,eclipse,fragment,Android,Eclipse,Fragment,为什么会返回“碎片已添加”错误并导致应用程序崩溃 android.support.v4.app.FragmentManager fm = getSupportFragmentManager(); android.support.v4.app.FragmentTransaction ft = fm.beginTransaction(); ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);
android.support.v4.app.FragmentManager fm = getSupportFragmentManager();
android.support.v4.app.FragmentTransaction ft = fm.beginTransaction();
ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);
ft.replace(R.id.fragment_container, tempmainfrag);
ft.commit();
for(int i = 0; i < fm.getBackStackEntryCount(); i++)
{
fm.popBackStack();
}
android.support.v4.app.FragmentManager fm=getSupportFragmentManager();
android.support.v4.app.FragmentTransaction ft=fm.beginTransaction();
ft.setCustomAnimations(R.anim.slide\u in\u left,R.anim.slide\u out\u right);
ft.replace(R.id.fragment_容器,tempmainfrag);
ft.commit();
对于(int i=0;i
我猜这是因为for循环,因为它在没有它的情况下工作,但我需要清除后堆栈,我如何才能正确地执行此操作?我在使用mapfragments时遇到了相同的错误,这就是我最终解决此问题的原因:
@Override
public void onDestroyView() {
super.onDestroyView();
SupportMapFragment f = (SupportMapFragment) getFragmentManager().findFragmentById(R.id.current_fragment);
if (f != null)
getFragmentManager().beginTransaction().remove(f).commit();
}
希望有帮助。我在使用mapfragments时也遇到了同样的错误,这就是我最终解决问题的原因:
@Override
public void onDestroyView() {
super.onDestroyView();
SupportMapFragment f = (SupportMapFragment) getFragmentManager().findFragmentById(R.id.current_fragment);
if (f != null)
getFragmentManager().beginTransaction().remove(f).commit();
}
希望能有帮助