3

通知からアプリを起動する場合、ターゲット画面がアプリ ナビゲーションの複数のステップにあるため、合成バック スタックを作成する必要があります。Android 2.3までしかサポートされていないTaskStackBuilderを使用せずにこれを行うにはどうすればよいですか?

詳細情報: 画面ごとに個別のフラグメントを使用する単一のアクティビティ アプリがあります。そこで、フラグメントトランザクションを使って画面を切り替えています。現在、これを達成するために複数の連続トランザクションを使用していますが、おそらくもっとクリーンな方法があるようです。

4

1 に答える 1

0

setCustomAnimations メソッドの最初の 2 つのパラメーターに 0 を渡す複数のフラグメント トランザクションを使用することになりました。これら 2 つのパラメーターは遷移のフェードイン用であるため、それらを 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
于 2014-03-26T02:03:31.073 に答える