8

私は4つの(1,2,3 & 4としましょう)フラグメントを持っています。そして、一度にそれらのいずれかがユーザーに見えるようになります。 2番目の断片では、ユーザーが来ているときに何かしたい。 ユーザーが3番目のフラグメント&に移動して戻るボタンを押すと、いくつかのコードを実行します。私の問題はonResumeは、ユーザーが戻るボタンを押すと呼ばれていない&は2番目の断片に来ています。フラグメントonResumeは呼び出されていません

おかげで私の検索を絞り込むため@fasteque:私は最近、同じ問題にぶつかった

+0

'ONATTACH()'メソッド、 'onResume()は' – Procurares

+0

すでに実際OnAttch(....試していない)を使用しようとは一度だけ呼ばれます。 – hemu

+0

どのようにフラグメントを切り替えるのですか?サンプルコードを追加してください。 – antonyt

答えて

4

が、私はその遅すぎるが、念のために他のいくつかのいずれかが、このために探していることを知って、ここに私の答えです。

フラグメントonResume()またはonPause()は、アクティビティonResume()またはonPause()が呼び出された場合にのみ呼び出されます。それらはアクティビティに緊密に結合されています。

しかし、あなたはまだフラグメントが上になるように、あなたの活動の変化に耳を傾け、それに応じてイベントをトリガしたい場合は、あなたがしたいFragmentManager.OnBackStackChangedListener

希望を見ている可能性があります。この役立ちます:)

1

Iを同じ問題がありました。 3番目のフラグメントから2番目のフラグメントに切り替える場合は(3番目のフラグメントのonPauseで2番目のフラグメントを呼び出すことができます)私たちは、フラグメント活動から、それを添付するとき

@Override 
public void onPause() { 
    super.onPause(); 

    Fragment2 fragment2= (Fragment2) getActivity().getSupportFragmentManager().findFragmentById(R.id.fragment2); 
    if (fragment2!= null) { 
     //you can call any function from fragment2 
     fragment2.SomeFunctions(); 
    } 
} 
関連する問題