在Java / Android中使if语句等待

时间:2014-08-12 16:07:16

标签: java android

我试图让我的Android应用程序等待几秒钟,然后才尝试执行if语句。我听说有些人说不使用thread.sleep()方法,那么还有更好的方法吗?这就是我试图做的,这不起作用

try {
   Thread.sleep( 1500 );
}
catch( InterruptedException e ) {
   e.printStackTrace();
}
if( playerimage.getVisibility() == View.VISIBLE ) {
   currentscore.setText( "Game over" );
}

2 个答案:

答案 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中的内容添加到创建处理程序的同一个线程上的循环队列中。