等待执行

问题描述:

我有这样一段代码的onTouch听者内:等待执行

game.setNextMove(move); 
boardView.invalidate(); 
checkEnd(); 
computerMove(boardView); 

我希望有boardView的checkEnd之前redrawed()方法已经完成了。我如何强迫它做到这一点?

+0

什么boardView源自? – Squonk 2015-02-17 20:40:38

+0

公共课BoardView延伸视图 – 2015-02-17 20:41:52

+3

很抱歉这么说,但只要您说“我该如何强制重绘”,这意味着您的设计是错误的。请解释**您正在尝试做什么**以及**为什么**您正在尝试去做。 – Simon 2015-02-17 20:48:49

我认为你需要考虑你的设计,如评论中提到的,说你可以通过Post()上的Post()执行checkEnd()来实现你的目标。这将起作用的原因是发布到主处理程序会将其添加到已经调用Invalidate的消息队列中,该消息将在处理程序调用Post()之前执行。

总之你可以这样做:

boardView.invalidate(); 
Handler handler = new Handler() 
hanlder.Post(new Runnable(
    @Override 
    public void run() { 
    checkEnd(); 
    } 
));