将表单组件添加到自定义android视图

时间:2012-11-14 11:26:34

标签: android user-interface android-linearlayout android-custom-view

我有一个自定义视图(扩展视图),我想在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

1 个答案:

答案 0 :(得分:0)

您永远不会在视图中添加l。它应该是这样的:

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

    addView(l);
}

执行此操作的一种稍微简单的方法是让您的自定义视图扩展LinearLayout。然后,您可以直接将视图添加到自定义视图中,而不必嵌套另一个容器,这样可以提高性能。