2012年9月9日 星期日

androids計時

較直觀之timer寫法

public class MainActivity extends Activity  
  
  public class timerTask extends TimerTask   
timer.cancel();//停止timer

timer為一個子程式,在子程式中不能對UI進行布局更新,UI實行更新應該在主程式進行,所以利用handler可以作為中間傳遞,實現子程式對UI布局更新的控制。
所以HandlerRunnable方法,更加簡潔。


private Button.OnClickListener Handler=new Button.OnClickListener()
     {
             public void onClick(View v)
             {
                                   
  startTime = System.currentTimeMillis();//取得目前時間                      mHandlerTime.postDelayed(timerRun, 0);//計算目前已過秒數                      //mHandlerTime.removeCallbacks(timerRun);//設定定時要執行的方法                       
}    

{   

Timer timer = new Timer(true);

@Override   

public void onCreate(Bundle savedInstanceState)   

{     

super.onCreate(savedInstanceState);     

timer.schedule(new timerTask(), 1000, 1000);   

}

{     

public void run()     

{     

}   

}; 

}

private Button.OnClickListener Handler=new Button.OnClickListener()     

{             

public void onClick(View v)             

{                                

}     

}; 

private final Runnable timerRun = new Runnable()     

{       

public void run()      

{               

Long spentTime = System.currentTimeMillis() - startTime;               

Long minius = (spentTime/1000)/60;                

Long seconds = (spentTime/1000) % 60;                

textview2.setText("time:"+minius+""+seconds+"");              mHandlerTime.postDelayed(this, 1000);      

};



沒有留言:

張貼留言