如何在没有TaskStackBuilder的情况下创建Back Stack(前2.3版)

时间:2013-07-29 16:41:53

标签: android android-notifications android-support-library

从通知启动我的应用程序时,我需要创建一个合成后备堆栈,因为目标屏幕是应用程序导航的几个步骤。如果不使用仅支持Android 2.3的TaskStackBuilder,我怎么能这样做?

更多信息: 我有一个活动应用程序,为每个屏幕使用一个单独的片段。所以我使用片段事务来改变屏幕。我目前正在使用多个背对背交易来实现这一目标,但似乎可能有一种更清洁的方式。

1 个答案:

答案 0 :(得分:0)

我最终只使用了多个片段事务,为setCustomAnimations方法的前两个参数传递0。这两个参数用于转换中的淡入淡出,因此将它们设置为0会导致片段事务立即完成而没有动画。

//first fragment
getFragmentManager().beginTransaction().addToBackStack(null).setCustomAnimations(0, 0, R.anim.slide_in_left, R.anim.slide_out_right).replace(R.id.targetFrame, new Frag1(), "Frag1").commit();
getFragmentManager().executePendingTransactions();

//second fragment
getFragmentManager().beginTransaction().addToBackStack(null).setCustomAnimations(0, 0, R.anim.slide_in_left, R.anim.slide_out_right).replace(R.id.targetFrame, new Frag2(), "Frag2").commit();
getFragmentManager().executePendingTransactions();

//add as many fragments as you like in this manner