【发布时间】:2011-04-12 09:39:45
【问题描述】:
@Override
protected void onDraw(Canvas canvas) {
// Draw graphic objects
.....
}
public void displayCalc(){
//Do some calculation & display results near these graphic objects
String result = String.valueOf(value);
//Do some calculation
//Display Calculated values
Canvas c =new Canvas();
Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setAntiAlias(true);
paint.setColor(Color.WHITE);
c.drawText(result,200,300,paint);
}
但如果我在 onDraw 函数中有相同的东西,它就可以正常工作。 我想知道为什么或我必须进行哪些更改才能使其正常工作
@Override
protected void onDraw(Canvas canvas) {
// Draw graphic objects
//Do some calculation & display results near these graphic objects
.....
String result = String.valueOf(value);
//Display Calculated values
Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setAntiAlias(true);
paint.setColor(Color.WHITE);
canvas.drawText(result,200,300,paint);
}
【问题讨论】:
-
哪个不行?第一个看起来像您正在绘制到与表面无关的画布上,所以我希望这是失败的画布(嗯......不显示任何东西)。
-
对不起,我错过了一些东西!我现在已经编辑了。它的第一个不显示任何内容
-
displayCalc 是如何调用的?它是在 UI 线程上调用的吗?
-
正如你在下面所说的,重复你自己的问题 stackoverflow.com/questions/5635434/… 。尽量避免两次问同一个问题...
-
@forsvarir,这不完全是同一个问题,这是我在使用 AsyncTask 时遇到的问题。 (或)如何将画布与 AsyncTasks 一起使用!顺便说一句,我的 displayCalc 是从 Oncreate() 调用的