7

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

我的自定义类中的代码:

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 开发的新手,所以我需要任何我能得到的帮助,或者一些好的链接或任何东西。谢谢

4

1 回答 1

3

视图已添加,但未设置尺寸。查看现有代码,我猜您希望它确实填充宽度并具有较小的高度 - 只是假设。所以尝试以下方法:

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

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

于 2013-09-20T07:42:31.637 回答