【发布时间】:2014-06-06 17:41:12
【问题描述】:
我想按 f1、f2、f3 的顺序将片段添加到后台堆栈...如果我从 f3 或 f2 开始,我应该到达 f1,那么后台堆栈中什么都没有。 这是我使用的代码:
public void openFragment(BaseFragment baseFragment, Bundle data) {
if (baseFragment != null) {
if (data != null)
baseFragment.setArguments(data);
Log.d(TAG, "openFragment" + baseFragment);
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction ft = fragmentManager.beginTransaction();
String tag1 = getString(baseFragment.getTitleResourceId());
ft.replace(R.id.fragment_main, baseFragment, tag1);
ft.addToBackStack(null);
ft.commit();
if (baseFragment.getTitleResourceId() > 0)
mCurrentTitle = baseFragment.getTitleResourceId();
}
}
我尝试使用以下但没有办法:
public void openFragment(BaseFragment baseFragment, Bundle data) {
if (baseFragment != null) {
if (data != null)
baseFragment.setArguments(data);
Log.d(TAG, "openFragment" + baseFragment);
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction ft = fragmentManager.beginTransaction();
String tag1 = getString(baseFragment.getTitleResourceId());
// Fragment frgExist = fragmentManager.findFragmentByTag(tag1);
ft.replace(R.id.fragment_main, baseFragment, tag1);
// if (frgExist == null)
ft.addToBackStack(null);
ft.commit();
if (baseFragment.getTitleResourceId() > 0)
mCurrentTitle = baseFragment.getTitleResourceId();
}
}
*BaseFragment 只是抽象类扩展设置标题的片段。 谢谢。
【问题讨论】:
-
请提问,你的问题还不够清楚=)
标签: android android-fragments back-stack