2

こんにちは、できませんでしたが、コンテキストの使用を理解しようとしています。以下は、コンテキストを使用したプログラムです。私の質問は、「 context = class.this 」の意味は何ですか?

class public VcardActivity extends Activity
   {
   String Vcard = "vcard";
   Context context;
   }
   public void onCreate ( Bundle bn )
   { 
    super.onCreate(bn);
    setContentView(R.layout.main);
    context = VcardActivity.this;
   }
4

3 に答える 3

0

あなたの場合、フィールドcontextはまったく必要ありません。むしろ、VcardActivity.thisここへのショートカットとして使用されます。問題なく取り外して使用でき、以前使用していた場所VcardActivity.thisだけでも使用できます。thiscontext

于 2013-07-31T20:25:33.677 に答える
0

現在のコードは、コンテキストの使用を示していません。Activity がコンテキストであることを示しています。

TextView someText=new TextView(context);

私のこのコードは、このオブジェクトを作成するために TextView のコンストラクターにコンテキストを渡していることを示しています。その理由は、このオブジェクトが情報、現在のコンテキストの状態を知る必要があるからです。これが、多くのビュー、クラス、ヘルパーがコンテキストを必要とする理由です。

 context = VcardActivity.this;

あなたのコードでは、コンテキストコンテキストに割り当てるアクティビティオブジェクトがあります。これが機能するのは、Activity クラスが Context から継承され、多くのクラスがそれを作成するために Context を必要とするためです。

于 2013-07-31T20:25:44.510 に答える
0

Context内に別の変数を作成する必要はありませんActivityContext何がそれらを開始しているのかを知る必要がある特定のオブジェクト/メソッドに使用します。Activityにはすでに があるContextので、作成する必要はありません。Context内で使用する必要がある場合Activityは、 を作成するときに、またはここIntentで使用できますActivityName.thisVcardActivity

どの種類のContextいつを使用するかについての適切な説明については、このSOの回答を参照してください。

コンテキスト ドキュメント

于 2013-07-31T20:25:51.190 に答える