我有一个画布,我在画布上写了一个textView。问题是:稍后我需要更改TextView中的文本,但我不知道如何更新画布(删除前一个文本并插入新文本)。我无法使用setColor(Color.Black)清除,因为我在Canvas中有一个图像。
代码:
LinearLayout layout = new LinearLayout(context);
TextView textView = new TextView(context);
textView.setVisibility(View.VISIBLE);
textView.setText("Hello world");
layout.addView(textView);
layout.measure(canvas.getWidth(), canvas.getHeight());
layout.layout(0, 0, canvas.getWidth(), canvas.getHeight());
layout.draw(mCanvas);
textView.setText("ABC");
textView.invalidate();
textView.postInvalidate();
layout.invalidate();
layout.postInvalidate();
答案 0 :(得分:0)
在自定义视图中使用这样的setter。
public synchronized void setText(String text) {
this.text = text;
postInvalidate();
}
如果您没有使用自定义视图,则应致电view.postInvalidate()