5

コンテキストを共有する意思を使用した後、その活性を再開しません。 Google翻訳のような別の言語にアクセスするために一時停止します。 GTranslateから、私は共有Intentプロセスを使用して、intent-filterACTION_SENDで私のアプリにテキストデータを送信します。 最初のアプリがバックグラウンドの場合でも、現在のactivityが再作成されます。断片は

問題が言及したactivityに関連するfragmentがあまりにも再作成されていない、より迷惑再開されていないということである(フラグメントのonResumeメソッドが呼び出されることはありません)。

質問: はなぜアプリケーションを通じてintentを使用して、fragmentsが自分の親アクティビティのライフサイクルに従っていませんし、少なくとも再開されていませんか? この問題を回避する方法はありますか?

または私は完全に間違っているのですか?

答えて

0

ではなく、活動の断片で活動を使用してください。 FragmentActiviyから

派遣onResume()の断片へ。より良い相互操作 のプラットフォームの古いバージョンでは、この呼び出しの時点で、アクティビティに添付された フラグメントが再開されないことに注意してください。これは、 では、以前の状態がまだ保存されている可能性があり、状態を変更するフラグメントトランザクション を許可しないことを意味します。 を適切な状態で正しくフラグメント化するには、代わりに をオーバーライドする必要があります(#link #onResumeFragments())。

だから、あなたのFragmentActivityであなたのフラグメントを操作するための適切な場所は次のようにonResumeFragmentsメソッドをオーバーライドします

protected void onResumeFragments(){  
super.onResumeFragments(); 

     // YOUR STUFF IS HERE 
} 
+0

でもonResumeFragments' 'でフラグメントを操作するには、それは動作しません。 – damson

+0

あなたがやっていることのいくつかのコードを参考にしてください。あなたの投稿を再読した後、GTranslateからデータを受け取るために、onActivityResult()、バンドルなどを使って、Google Translateの共有インテントを使ってアプリケーションの別のインスタンスを開いているように聞こえます。元のアプリは、データを受信し、元のフラグメントも停止します。 – Rick