1

カスタムビュー(ビューを拡張)があり、OnCreate関数にコントロール(ボタン/テキストボックスなど)を追加して、実行時にこれらのコンポーネントをビューに追加したいと思います。

public Section(Context context) {
    super(context);

    this.setBackgroundColor(Color.argb(255, 242, 242, 242));
    this.setOnTouchListener(mSectionOnTouch);

    LinearLayout l = new LinearLayout(this.getContext());
    l.setOrientation(LinearLayout.VERTICAL);
    Button btn = new Button(this.getContext());
    btn.setId(1);
    btn.setText("btn1");
    l.addView(btn);

    Button btn2 = new Button(this.getContext());
    btn2.setId(2);
    btn2.setText("btn2");
    l.addView(btn2);

} // Section

しかし、これは何もしていないようです...誰かが私に何が間違っているのか教えてもらえますか?

どうもありがとう

FR

4

1 に答える 1

0

ビューに追加lすることはありません。次のようになります。

public Section(Context context)
{
    // setup linear layout

    addView(l);
}

これを行うための少し簡単な方法は、カスタム ビューに LinearLayout を拡張させることです。次に、ビューをカスタム ビューに直接追加するだけで、別のコンテナーをネストする必要がないため、パフォーマンスが向上します。

于 2012-11-14T17:11:53.917 に答える