0

私は動的UIをプログラムで作成しており、メインクラスでUI要素を作成しているので、後でTableLayoutビューに追加できます。通常、私は次のように宣言します。

TextView tw_1_2 = new TextView(this);

コンテキストはどこにありますかthis。コンテキストを明確に理解できないので、誰かがこれを別のクラスで宣言する方法を教えてもらえますかTextView(たとえば public static として)、このビューを他のクラスで宣言したい場合はコンテキストに何を入れるべきですか?

4

1 に答える 1

1

基本的に、新しいクラスを呼び出すアクティビティからコンテキストを送信する必要があります。この目的のために、コンストラクターを使用してコンテキスト データをクラスの新しいオブジェクトに送信できます。コンストラクターを作成して使用する方法を示す例があります。たとえば、これはあなたの ExampleClass です:

public class ExampleClass{
    private final Context context;

    public ExampleClass(Context context) {
            this.context = context;
    }

}

あなたのアクティビティクラスでこれを行います:

ExampleClass ex1 = new ExampleClass(MainActivity.this);

クラスを静的として使用する場合は、クラスとコンテキスト変数をコンストラクターなしで静的としてのみ定義し、コンテキストをコンテキストと同じに設定する必要があります。これがお役に立てば幸いです。

于 2013-10-04T20:50:04.063 に答える