ナビゲーションドロワー付きのActivity
があります。私はこのために断片を使用しました。引き出しの異なるメニューに移動するときには、addToBackStack()
メソッドでバックスタックに追加します。私は断片Bまたは断片Cに行けば基本的には、フラグメントAとActivity
始まりは、私は戻って押すことができますし、フラグメントAに戻ります。複数のフラグメントを同時に置換する
しかし、今、私はフラグメントBオープンでActivity
を開く必要があり、私は戻って押したときに、それはフラグメントAに私を取り戻す必要があるの通知を持っています。 startActivities
のようにこれを処理する方法はありますか?ここで
がActivity
のコードです:
@Override
protected void onCreate(Bundle savedInstanceState) {
...
getSupportFragmentManager().beginTransaction().replace(R.id.layoutContent, new FragmentA()).commit();
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.buttonA:
getSupportFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
break;
case R.id.buttonB:
transactFragment(new FragmentB());
break;
...
}
}
private void transactFragment(Fragment fragment) {
getSupportFragmentManager().beginTransaction().replace(R.id.layoutContent, fragment).addToBackStack(fragment.getClass().getName()).commit();
}
2つのトランザクションを作成してコミットします。 – toshkinl
@toshkinlうん、私はそれを試みたが、それは奇妙に見えるアニメーションを作成します。フラグメントを除いて[ここ](https://developer.android.com/training/implementing-navigation/temporal.html)のようにしたいと思っています。 –
アニメーションはいつでも削除できます。 FragmentTransaction ft = getSupportFragmentManager()。beginTransaction(); ft.setCustomAnimations(0、0); – toshkinl