我的项目现在实际上有很多行代码,所以我只会在这里包含重要的内容,以此来节省您的时间。我希望有足够的信息来解决问题。
我有两个主要类:一个'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方法中调用它们时它们根本不绘制。有谁知道我做错了什么?
答案 0 :(得分:1)
一旦你的View上写了无效()。