web-dev-qa-db-ja.com

これ、getContext()とgetActivity()の違いは何ですか?

どこでそれらを使用すればよいのか、これらすべての使用法に非常に混乱しています。

31
Mr Singh

this-return 自己参照
getContext()-return Context
getActivity()-return Activity

コンテキスト。

元の回答 からの引用:

名前が示すように、アプリケーション/オブジェクトの現在の状態のコンテキスト。新しく作成されたオブジェクトに、何が起こっているかを理解させます。通常は、プログラムの別の部分に関する情報(アクティビティ、パッケージ/アプリケーション)を取得するために呼び出します

アクティビティ

アクティビティは、画面またはUIをサポートするJavaコードです。つまり、ユーザーインターフェイスの構成要素はアクティビティです。アクティビティクラスはAndroidの定義済みクラスであり、UIを持つすべてのアプリケーションはウィンドウを作成するためにそれを継承する必要があります。アクティビティは、Androidアプリケーションのプレゼンテーション層を表します。ユーザーに表示される画面。 Androidアプリケーションには複数のアクティビティがあり、アプリケーションの実行中にアクティビティを切り替えることができます。

注:アクティビティはコンテキストを拡張します。コンテキストはアクティビティではありません。

43

アクティビティはContextのサブクラスであるため、コンテキストが必要な場合はいつでもどちらでも指定できます。

getActivity()は、少なくともFragmentのメソッドであり、関連付けられているアクティビティを取得します。

アクティビティのインスタンスメソッドでコンテキストが必要なときはいつでも、thisを使用できます。

コンテキスト情報が必要なとき、またはものを表示する必要があるときはいつでも、コンテキストが必要です。

9
wvdz