等待执行
问题描述:
我有这样一段代码的onTouch听者内:等待执行
game.setNextMove(move);
boardView.invalidate();
checkEnd();
computerMove(boardView);
我希望有boardView的checkEnd之前redrawed()方法已经完成了。我如何强迫它做到这一点?
答
我认为你需要考虑你的设计,如评论中提到的,说你可以通过Post()
上的Post()
执行checkEnd()
来实现你的目标。这将起作用的原因是发布到主处理程序会将其添加到已经调用Invalidate
的消息队列中,该消息将在处理程序调用Post()
之前执行。
总之你可以这样做:
boardView.invalidate();
Handler handler = new Handler()
hanlder.Post(new Runnable(
@Override
public void run() {
checkEnd();
}
));
什么boardView源自? – Squonk 2015-02-17 20:40:38
公共课BoardView延伸视图 – 2015-02-17 20:41:52
很抱歉这么说,但只要您说“我该如何强制重绘”,这意味着您的设计是错误的。请解释**您正在尝试做什么**以及**为什么**您正在尝试去做。 – Simon 2015-02-17 20:48:49