Android canvas 单击按钮后查看画布-应用程序强制关闭

Android canvas 单击按钮后查看画布-应用程序强制关闭,android-canvas,Android Canvas,activity_main.xml: public void Pattern(Canvas canvas) { int x = 0; int y = 0; Paint paint = new Paint(); paint.setStyle(Paint.Style.FILL); paint.setColor(Color.WHITE); canvas.

activity_main.xml:

 public void Pattern(Canvas canvas) {

            int x = 0;
            int y = 0;
            Paint paint = new Paint();
            paint.setStyle(Paint.Style.FILL);

            paint.setColor(Color.WHITE);
            canvas.drawPaint(paint);

            paint.setStyle(Paint.Style.STROKE);
            paint.setStrokeWidth(1);
            paint.setAntiAlias(true);
            paint.setColor(Color.MAGENTA);
            paint.setTextSize(22);
            canvas.drawText("movement pattern", 75, 55, paint);


            paint.setStyle(Paint.Style.FILL);



            paint.setColor(Color.RED);
            canvas.drawCircle(359, 300 , 4, paint);
            canvas.drawCircle(425, 300, 4, paint);
        //  canvas.drawCircle(248, , 4, paint);
            canvas.drawCircle(248, 380, 4, paint);
            canvas.drawCircle(50, 300, 4, paint);
            //canvas.drawCircle(5421, 6499, 4, paint);
            // draw a thick dashed line,
            paint.setColor(Color.BLUE);
            canvas.drawLine(359, 300 , 425, 300,  paint);
            canvas.drawLine(425, 300, 248, 380,  paint);
            //canvas.drawLine(400, 500 ,248, 380,  paint);
            canvas.drawLine(248, 380 , 50, 300,  paint);
            canvas.drawLine(50, 300, 359, 300,  paint);

        }
基本上,在主布局,我有4个按钮和所有的作品。但除了BPV按钮。
单击BPV按钮时,我想在PV处显示PatternCanvas画布。但应用程序在单击时强制关闭

模式方法的方法签名不正确。 在XML中用作android:onClick时,它必须是public void PatternView视图


您需要找到另一种方法来完成您正在尝试的操作,当您单击按钮时,您无法访问视图的画布。

@trololo my logcat为空
<Button
    android:id="@+id/BPV"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/View"
    android:layout_below="@+id/btnShowLocation"
    android:layout_marginLeft="15dp"
    android:onClick="Pattern"
    android:text="Pattern" />

<View
    android:id="@+id/PV"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/BPV"
    android:layout_below="@+id/TextView1" />