2

インスタンス化されたときに LinearLayouts を作成する新しいクラスを Android で作成しました。ただし、括弧内に入れるコンテキストがわかりません: new LinearLayout(context)。誰かが光を当てることができますか?(コンテキストでできることはすべて読んでみました)

クラスでActivityを拡張する必要はないと仮定しています

public class NewLayouts {
...
newParentLayout = new LinearLayout(getApplicationContext()); //<--eclipse warns of error here saying not a valid context
newParentLayout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT));
newParentLayout.setOrientation(LinearLayout.VERTICAL);
TextView monthDisplay = new TextView(getApplicationContext()); //<--eclipse warns of error here saying not a valid context
...
}

私の主な活動:

public class MainActivity extends Activity {

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        NewLayouts Sample = new NewLayouts(1,2); //variables required in my constructor for new Layouts
        setContentView(Sample.newParentLayout);
}
4

2 に答える 2

1

のコンストラクタを次のNewLayoutsように変更します...

public NewLayouts(Context ctx, int X, int Y) {...}

...次に、を作成するためのinctxとして使用します。ContextNewLayoutsViews

次に、次のActivityことを行います...

NewLayouts Sample = new NewLayouts(this, 1, 2);

Activity'sこれにより、独自のContextコンストラクNewLayoutsターが渡されます。

于 2012-09-16T21:48:58.890 に答える
0

試しnew LinearLayout(this)たりnew LinearLayout(newLayouts.this)

于 2012-09-16T21:30:22.480 に答える