2012-08-27 51 views

回答

4

考慮任何佈局採用的是Android CountDownTimer請你。

public class Example extends Activity { 
    long mMilliseconds = 60000; 
    SimpleDateFormat mSimpleDateFormat = new SimpleDateFormat("HH:mm:ss"); 
    TextView mTextView; 

    CountDownTimer mCountDownTimer = new CountDownTimer(mMilliseconds, 1000) { 
     @Override 
     public void onFinish() { 
      mTextView.setText(mSimpleDateFormat.format(0)); 
     } 

     public void onTick(long millisUntilFinished) { 
      mTextView.setText(mSimpleDateFormat.format(millisUntilFinished)); 
     } 
    }; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     mSimpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); 
     mTextView = (TextView) findViewById(R.id.text); 

     mCountDownTimer.start(); 
    } 
} 
2

另一種選擇是讓你的小部件外面跑倒數計時器,併發送將要通廣播接收器後,接收和處理由Widget的廣播。因此,您可以考慮將CountdownTimer放置在應用程序的服務或其他部分中,並在每次打勾或結束時發出Widget將通過廣播接收器獲得的廣播。這使Widget保持輕量級。