Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.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 未调用onDraw方法?_Java_Android_Layout_View_Ondraw - Fatal编程技术网

Java 未调用onDraw方法?

Java 未调用onDraw方法?,java,android,layout,view,ondraw,Java,Android,Layout,View,Ondraw,我正在创建一个自定义视图,但从未调用onDraw方法。我尝试过这样做-setWillNotDraw(false),但仍然不起作用 事实上,调用invalidate()后,它甚至都不起作用。这是我的密码- public class Box extends View { public Box (Context context) { super (context); init(); } private void init() { // I

我正在创建一个自定义视图,但从未调用onDraw方法。我尝试过这样做-
setWillNotDraw(false)
,但仍然不起作用

事实上,调用
invalidate()
后,它甚至都不起作用。这是我的密码-

public class Box extends View {
    public Box (Context context) {
        super (context);
        init();
    }

    private void init() {    // Initialize paint object
        paint = new Paint();
        paint.setStyle(Paint.Style.FILL);
        paint.setColor(mBoxColor);
        setMeasuredDimension(200, 200);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        canvas.drawRect(100, 100, 200, 200, paint);
    }
}
我的活动代码-

Box box = new Box(this);

请在MainActivity.java中提供帮助

使用


您如何将您的
框添加到
活动
视图
层次结构中?在屏幕上显示之前,它不会绘制。添加此项。setWillNotDraw(false);在构造函数中,对于视图的子类,将忽略SetwillNotDraw。它适用于ViewGroup的子类。你们可能并没有把盒子添加到任何view@MikeM. 是的,这就是问题所在:(我现在觉得自己很愚蠢。谢谢大家的回复。这就是我不喜欢Android文档的原因。
setContentView(box);