Android:无法使用点击功能在画布上画线

Android:无法使用点击功能在画布上画线,android,canvas,Android,Canvas,我正在onCreate函数中实例化canvas变量,如果我在onCreate函数中画一条线,它会显示得很好。但是,如果我在按钮的onClick函数中画一条线,它就不起作用了。原因可能是什么 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); T

我正在onCreate函数中实例化canvas变量,如果我在onCreate函数中画一条线,它会显示得很好。但是,如果我在按钮的onClick函数中画一条线,它就不起作用了。原因可能是什么

 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        imageView = (ImageView) this.findViewById(R.id.imageView);
        BitmapDrawable drawable = (BitmapDrawable) imageView.getDrawable();
        Bitmap bitmap = drawable.getBitmap();
        Bitmap mutableBitmap = bitmap.copy(Bitmap.Config.ARGB_8888, true);
        canvas = new Canvas(mutableBitmap);
        imageView.setImageBitmap(mutableBitmap);
        paint = new Paint();
        paint.setColor(Color.rgb(255, 153, 51));
        paint.setStrokeWidth(10);
   }

    public void displayLine(View view) {
        canvas.drawLine(10, 20, 400, 500, paint);
    }

并不是说我一定会这样做。。。但是你试过添加一个无效呼叫吗?i、 e:

public void displayLine(View view) {
        canvas.drawLine(10, 20, 400, 500, paint);
        view.invalidate();
    }

这里缺少很多代码。你的onClick处理器在哪里?画布对象存储在哪里?displayLine在哪里调用?这是哪种语言?按钮被分配displayLine的onClick功能。我不明白你所说的画布对象的存储是什么意思。你能详细说明一下吗。奇怪的是,如果我在onCreate方法本身中画一条线(函数中的上述语句),它会画得很好。但当我将该语句移动到按钮的onclick函数时,它就不再工作了