我试图让我的Android应用程序等待几秒钟,然后才尝试执行if语句。我听说有些人说不使用thread.sleep()方法,那么还有更好的方法吗?这就是我试图做的,这不起作用
try {
Thread.sleep( 1500 );
}
catch( InterruptedException e ) {
e.printStackTrace();
}
if( playerimage.getVisibility() == View.VISIBLE ) {
currentscore.setText( "Game over" );
}
答案 0 :(得分:6)
这样的东西应该可以工作,创建一个处理程序,并等待1.5秒:)这通常是最好的方式,它是最整洁的,也可能是最好的内存,因为它没有真正做太多,加上因为只有这是最简单的解决方案才能做到这一点。
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
if (playerimage.getVisibility() == View.VISIBLE) {
currentscore.setText("Game over");
}
}
}, 1500);
答案 1 :(得分:2)
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
if (playerimage.getVisibility() == View.VISIBLE) {
currentscore.setText("Game over");
}, 1500);
简单的Handler示例..这将等待1500毫秒,并将Runnable中的内容添加到创建处理程序的同一个线程上的循环队列中。