Android TouchEvent之后如何重新绘制视图?

Android TouchEvent之后如何重新绘制视图?,android,android-widget,android-view,Android,Android Widget,Android View,我将View子类化,以获得一个用户可以用手指“绘制”的视图。我实现了接口View.OnTouchListener 如何在onTouch方法中触发视图的重画?我需要实现线程/可运行吗?我以为invalidate()会触发重画,但这不起作用。只需在视图的onTouchEvent方法中调用this.invalidate,除非你在onDraw方法中没有做正确的事情,否则它确实应该可以工作。确保你引用了正确的画布,并在覆盖的onDraw方法中绘制东西,而不是例如构造函数 @Override public

我将
View
子类化,以获得一个用户可以用手指“绘制”的视图。我实现了接口
View.OnTouchListener


如何在
onTouch
方法中触发视图的重画?我需要实现线程/可运行吗?我以为
invalidate()
会触发重画,但这不起作用。

只需在视图的onTouchEvent方法中调用this.invalidate,除非你在onDraw方法中没有做正确的事情,否则它确实应该可以工作。确保你引用了正确的画布,并在覆盖的onDraw方法中绘制东西,而不是例如构造函数

@Override
public boolean onTouchEvent(MotionEvent event) {
    this.invalidate();
    return true;
}

谢谢你的回答。我忘记注册OnTouchListener:
this.setOnTouchListener(this)现在工作正常!