如何在按钮上绘制一个矩形到画布(Android?)

时间:2012-07-16 23:09:43

标签: android button android-canvas buttonclick

我的项目现在实际上有很多行代码,所以我只会在这里包含重要的内容,以此来节省您的时间。我希望有足够的信息来解决问题。

我有两个主要类:一个'GraphView'类,然后是主Activity的代码。在GraphView中,我创建了一个基本上在画布上绘制矩形的函数。它叫做drawPixel。在GraphView的onDraw方法中,我多次调用drawPixel,并将矩形绘制到屏幕上。现在,在主代码中,我以编程方式创建了一个布局和一个按钮。我想要的是,而不是在GraphView的onDraw方法中调用drawPixel,我想在单击按钮时绘制这些矩形。我试过这样做:

someButton.setOnClickListener(new View.OnClickListener() { 
    @Override
    public void onClick(View v) {
        Canvas canvas = new Canvas(); 
        // TODO Auto-generated method stub
            for (int i=1; i<50; i++) {
                someGraphView.drawPixel(canvas, i, i); 
            }
        }
});

它不起作用。当我通过onDraw()调用时,矩形正确绘制,但是当我从setOnClickListener方法中调用它们时它们根本不绘制。有谁知道我做错了什么?

1 个答案:

答案 0 :(得分:1)

一旦你的View上写了无效()。