If(statement) delay
本问题已经有最佳答案,请猛点这里访问。
这是一个好奇的问题,但是否有办法延迟if语句的最后一行。
如:
1 2 3 4 |
你怎样才能把最后一行像(即"走了")一样推迟?
请不要使用会冻结用户界面的
1 2 3 4 5 6 7 | Handler h = new Handler(); h.postDelayed(new Runnable() { @Override public void run() { } },delayMilliseconds); |
1 2 3 4 5 6 7 8 9 |
最好的是:
1 2 3 4 5 6 7 8 9 |
但如果你需要多重动作,你可以使用这个:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | if(m_Toolbar.getVisibility() == View.VISBILE) { int Delay = 5; //set Your request delay new Thread(new Runnable(){ public void run() { // TODO Auto-generated method stub do{ try { runOnUiThread(new Runnable() { public void run() { Delay --; if( Delay == 0){ m_Toolbar.setVisibility(View.GONE); }else if( Delay == 1){ //another action } } }); Thread.sleep(1000); } catch (InterruptedException e) { //TODO Auto-generated catch block e.printStackTrace(); } }while(Delay > 0); } }).start(); } |
您可以使用以下等待一秒钟的