android小部件中的倒计时器

时间:2012-08-27 21:20:42

标签: android

如何在android中执行倒计时器并在Android小部件中插入此计时器? 我想要做的计时器是这样的:http://www.timeanddate.com/clocks/freecountdown.html

谢谢

2 个答案:

答案 0 :(得分: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();
    }
}

答案 1 :(得分:2)

另一种选择是让你在小部件外运行倒数计时器,并发送广播,这些广播将在通过广播接收器后由小部件接收和处理。因此,您可以考虑将CountdownTimer放入服务或应用程序的其他部分,并在每个滴答或最后发出Widget将通过广播接收器获得的广播。这使Widget保持轻量级。