2012-06-24 52 views

回答

2

在可運行的程序上創建一個處理程序並執行postDelayed()。檢查documentation for Handler

Handler handler = new Handler(); 
final Runnable r = new Runnable() 
{ 
    public void run() 
    { 
     doThis(myVar2);. 
    } 
}; 
... 
... 
handler.postDelayed(r, 1000); 
+0

原始帖子並沒有說任何關於Android的東西。 – mergeconflict

+0

當它被張貼時,它有'Android'標籤..稍後編輯..請參閱編輯歷史,,, – Ronnie

+0

我把android標籤放回去了。 –

2

嘗試使用線程這樣:

btnbtnstart.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
    // TODO Auto-generated method stub 
     if(mthreadRunning==false) 
     { 
      doThis(myVar1); 
      mthreadRunning=true; 
      dojobThread(); 
     } 
    } 
}); 

public void dojobThread(){ 
     Thread th=new Thread(){ 
     @Override 
     public void run(){ 
      try 
      { 
      while(mthreadRunning) 
      { 
      Thread.sleep(100L); 
      mthreadRunning=false; 
      doThis(myVar2);//call doThis(myVar2); here after 1 second delay 

      } 
      }catch (InterruptedException e) { 
      // TODO: handle exception 
      } 
     } 
     }; 
     th.start(); 
     } 
1

在桌面GUI應用程序,我會用javax.swing.Timer從Swing API。也許Android API有類似的東西?當然,imran khan上面的Thread示例基本上是一樣的。