如何添加将View扩展到主要活动的自定义类?

时间:2013-09-20 07:37:12

标签: java android

我在向主要活动添加自定义类时遇到问题。

我的自定义类中的

代码:

public class DetailView extends View {

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

        this.setBackgroundColor(0xFF00FF00 );



    }
}

主要活动中的代码:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    linearLayout = (LinearLayout) findViewById(R.id.linearLayout1);

    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
    linearLayout.setOrientation(LinearLayout.VERTICAL);


    txt = new TextView(this);
    txt.setText("hello");
    txt.setId(6);
    txt.setLayoutParams(params);
    linearLayout.addView(txt);

    DetailView detailView = new DetailView(this.getApplicationContext());
    linearLayout.addView(detailView);

}

为什么不能看到detailView? 我是Android开发的新手,所以我需要任何帮助,或者一些好的链接或任何东西。感谢

1 个答案:

答案 0 :(得分:3)

添加了视图,但没有设置尺寸。看看现有的代码我猜你想要它填充宽度并且有一个小的高度 - 只是假设。请尝试以下方法:

DetailView detailView = new DetailView(this);
params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 2); // 2 pixels height
linearLayout.addView(detailView, params);

此外,DetailView的上下文是活动,而不是应用程序上下文。