我的应用程序中有一个标签主机。它使用一个片段活动,包含5个选项卡(片段)在第3个选项卡中,有一个按钮,当我点击它时,它将转到另一个片段,即替换原来的片段
gridView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
tracker.send(MapBuilder.createEvent("click_button","Gallery","Gallery_select_" + Utility.getLocale(getActivity()),null).build());
Bundle bundle = new Bundle();
bundle.putSerializable("imageObj", images.get(position));
Fragment newFragment = (Fragment) new GalleryDetail();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
newFragment.setArguments(bundle);
transaction.replace(R.id.tabcontent, newFragment,"gallery_detail");
transaction.addToBackStack("gallery_detail");
transaction.commit();
}
});
那么问题就会出现在这个流程中:
1)打开第三个标签
2)点击按钮进入下一级片段
3)单击另一个选项卡,例如第一个选项卡
4)返回到第3个标签(此时会在下一级fragment而不是第一级)
5) 按返回键
02-19 02:16:46.427: E/AndroidRuntime(27697): java.lang.IllegalStateException: Fragment already added: PhotoGallery{43bc3500 #1 id=0x7f04003b Gallery}
如果我从第三个选项卡退出,如何返回第一级?我相信这会解决问题?感谢您的帮助