web-dev-qa-db-ja.com

コンテキストthisとgetContext()の違い

thisgetContext()の違いは何ですか。thisと言うと、this内のActivityを意味します。

33
Lukap

一般に、クラスには2つのタイプがあります。 ContextWrapper class(ActivityServiceApplication)を拡張するものと、拡張しないもの(Viewなど)。

  1. クラスがContextWrapperを拡張する場合、thisContextとして使用できます。このようなクラスには通常、getContext()メソッドがありません。

  2. ContextWrapperを拡張しないが、Contextを保存して使用するクラスは、通常getContext()関数を公開します。また、そのような場合はthisContextとして使用できません。

そして、これら2つのケースは相互に排他的です。少なくとも、ContextWrapperを拡張するクラスと、getContextを同時に持っているクラスは思い出せません。

63
inazaruk

getContext()はアクティビティで定義されていません。 View(またはViewサブクラス)で使用されて、囲んでいるコンテキスト(アクティビティ)への参照を取得します。

16
Ted Hopp

違いはありません。アクティビティにいるとき、getContext()はこれを返します。これは、アクティビティがコンテキストであるためです!

5