何Androidの断片でgetActivity().startActivityForResult()
対startActivityForResult()
との違い?そして、フラグメントで呼び出されたときのonActivityForResult()
の動作の違いは何ですか?startActivityForResult()Androidの断片でgetActivity()。startActivityForResult()対
答えて
startActivityForResult()
からそれを処理しなければならないfragment
さんonActivityForResult()
getActivity().startActivityForResult()
からそれを処理する必要がありますactivity
の基本的onActivityForResult()
:
あなたはfragment
にしている場合と、 fragment
の結果を処理したい場合はonActivityForResult()
を使用してください。あなたはフラグメントのactivity
からそれを処理したい場合は少し差がgetActivity()であるgetActivity.startActivityForResult()
アクティビティ内にstartActivityForResult()
、フラグメント内にgetActivity().startActivityForResult()
を使用できます。
すぐに、私たちはgetActiviy()
でそれを先行しています。
代わりに、我々はActiivtyから以下のように)(特定のフラグメントのonActivityResultを呼び出すことができます。:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
for (Fragment fragment : getChildFragmentManager().getFragments()) {
fragment.onActivityResult(requestCode, resultCode, data);
}
}
我々は、より多くの細部にそれを置く場合は、
をあなたは、あなたのフラグメントからstartActivityForResult()
を呼び出す場合requestCodeは、Fragmentを所有するアクティビティによって変更されます。
あなたの活動で正しいのresultCodeを取得したいのであれば、あなたは以下のように試すことができます:
は使用しないでください:(このような場合の):
startActivityForResult(intent, 1);
使用します。
getActivity().startActivityForResult(intent, 1);
希望すると..!
実際には 'getActivity()'を使わずに 'startActivityForResult()'をフラグメントで使用しました。だから私は行動の違いを尋ねる。 –
@j.elmerを参照してください。このような違いはありません。しかし、ちょっと違う点は、GetActivity()。startActivityForResult()をフラグメントでのみ使用して、Activity of Contextを取得できることです。 –
フラグメント内の別々の 'startActivityForResult'メソッドの全体のポイントは、アクティビティのonActivityResult内のすべてのフラグメントを通過する必要性を避けることです。それはまさに間違ったことです。 – ianhanniballake
は違い... しかしを使用し、rwise。startActivityForResult()のみの断片から呼び出すことができます:)
をstartActivityForResultフラグメントコールからstartActivityForResultそのコンテナアクティビティ。 フラグメント用: -
フラグメントのcontainsアクティビティからstartActivityForResult(Intent、int)を呼び出します。あなたが直接、いくつかの特定の変更は、リクエストに応じて行うことができるフラグメントでそれを使用するときには
は、私が最近変更要求コードといくつかの問題に直面している原因あなたは、onActivityresult()でリクエストコードを変更されますcode.And。あなたはThis Threadを調べることができます。
は、Activity
で指定された方法であるため、Activity
を参照して電話をかけてください。startActivityForResult(Intent intent, int requestCode)
です。この場合になります
YourActivity extends AppCompatActivity (which is subclass of `Activity`)
しかし、あなたはYourFragment
からそれを呼び出している場合は、Activity
参照を指定する必要があり、:だから
、あなたがYourActivity
から呼び出した場合、それはすでに同じようActivity
の参照を持っていますYourFragment
を含む活性;したがって、getActivity()
を使用してトリガーします。startActivityForResult()
"startActivityForResult()"はアクティビティクラスで機能します。 アクティビティクラスでは、このメソッドを直接使用することができます。 フラグメントは、フラグメントがアクティビティーで作成されているため、まずそのフラグメントに基づいてアクティビティーを取得する必要があります。意味:
//in fragment class:
Activity activity = this.getActivity();
は今、あなたが活動をしていると私は言った、あなたがフラグメントから取得活動の「startActivityForResult()」を使用することができます。
activity.startActivityForResult();
希望が助けます。
- 1. startActivityForResult for photo android
- 2. android - startActivityForResultからArrayAdapter
- 3. フラグメントのstartActivityForResultとアクティビティのstartActivityForResultの差
- 4. どのように断片ためStartActivityForResultを使用するには?
- 5. startActivityForResult LiveWallpaperサービスからAndroid
- 6. Android getSharedPreferences startActivityForResult間欠エラー
- 7. StartActivityForResult StartActivityForResultアクティビティが終了しました
- 8. startActivityForResultのrequestCodeパラメーター
- 9. 複数のstartActivityForResult()
- 10. startActivityForResult from ActivityGroup?
- 11. startActivityForResultに応答
- 12. フラグメント内のRecyclerViewAdapterからのAndroid - startActivityForResult()
- 13. StartActivityforResultがクラッシュする
- 14. startActivityForResultを持つTaskStackBuilder
- 15. startActivityForResult返信データnull
- 16. startActivityForResultのNullポインタ例外
- 17. startActivityForResultの代わりに
- 18. Androidの断片:バックグラウンドから来たときにnullを返すgetActivity()
- 19. Androidの断片onBackPressed
- 20. Androidの断片は
- 21. Androidの断片ですか?
- 22. クラス内でstartActivityForResultを呼び出す
- 23. startActivityForResult NULLポインタ例外です。コンテキスト?
- 24. startActivityforResultのためのRequestCodeのタイプ
- 25. アンドロイドのインテントとstartActivityForResultの違いは?
- 26. Android Studioのクラッシュ、OnClickとstartActivityForResultに関連する
- 27. OnItemClickListener()内のstartActivityForResult()を呼び出す
- 28. startActivityForResultの後に戻る方法
- 29. Androidの断片:他のフラグメントからの断片を置換
- 30. Androidの二つの断片
https://developer.android.com/reference/android/app/Activity.html#onActivityResult(int、int、android.content.Intent)、https://developer.android.com/training/basics/ intents/result.html –
Android開発用のドキュメントがあることをご存知ですか? –