私は3つの断片A、B、Cを持っています、私のプロセスはAからBからCです。フラグメントonResumeを制御する方法は?
私はCに変更してBにコールバックすると、BはすぐにAに切り替えることができます。
私はonResume
のスイッチフラグメント機能をBに設定しました。
しかし、私は
と呼ばれる機能onResume
をBに変更したときに、私は私が にtransaction.addToBackStack(null);
その後、私ができるCを削除することができ、それが原因となります知っているので、結果は、私はいつものフラグメント上に着陸するということです私のプロジェクトのいくつかのバグですので、私はそれを維持しようとします。
関数はCがBにコールバックするときにのみ起動しますか? ありがとうございます。
以下は私のスイッチ機能である:
private void switchFragment(Fragment fragment) {
FragmentManager manager = getActivity().getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.replace(R.id.mainFrame, fragment, null);
transaction.addToBackStack(null);
transaction.commit();
}
私がフラグメントBにonResume
を追加しようとするが、それはBになり、その後、Bはすぐに戻ります。
@Override
public void onResume() {
super.onResume();
//go back to fragment A
switchFragment(NewHomepage.newInstance());
}
フラグメントAに行きますtrue then switchFragment –
ありがとうございました、あなたのことを思い出してくれました。それは働くでしょうが、より正確な結果を得るために –
を返すときに呼び出されるActivity onRestartのような、 Cの背中の中とBのOnresumeの中でそれが本当であるかどうかを確認してAに行く –