我在onTouch监听器中有这样一段代码:
game.setNextMove(move);
boardView.invalidate();
checkEnd();
computerMove(boardView);
我希望在checkEnd()方法完成之前重新绘制boardView。我怎么能强迫它这样做呢?
答案 0 :(得分:0)
我认为您需要考虑评论中提到的设计,并表示您可以通过Post()
使用handler
来执行checkEnd()
来实现目标。这将起作用的原因是发布到主处理程序会将其添加到已经调用Invalidate
的消息队列中,该队列将在处理程序上调用Post()
之前执行。< / p>
简而言之,你可以这样做:
boardView.invalidate();
Handler handler = new Handler()
hanlder.Post(new Runnable(
@Override
public void run () {
checkEnd();
}
));