Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何添加将视图扩展到主活动的自定义类?_Java_Android - Fatal编程技术网

Java 如何添加将视图扩展到主活动的自定义类?

Java 如何添加将视图扩展到主活动的自定义类?,java,android,Java,Android,我在向主活动添加自定义类时遇到问题 自定义类中的代码: public class DetailView extends View { public DetailView(Context context) { super(context); this.setBackgroundColor(0xFF00FF00 ); } } 主要活动中的代码: protected void onCreate(Bundle savedInstanceStat

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

自定义类中的代码:

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

视图已添加,但没有维度集。看看现有的代码,我想您希望它填充宽度,并有一个小的高度-只是假设。因此,请尝试以下方法:

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

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

我想您没有设置视图的高度/宽度。如何设置宽度和高度?为什么不从XML设置此布局?我在main.XML中有此内容,但我真的对XML内容感到困惑?如果XML中有高度/宽度,是否需要设置高度/宽度?啊,好的,谢谢,所以我应该更改getApplicationContext()并获取主活动的上下文?是的,但是您还需要设置参数。