0

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

谢谢

4

2 回答 2

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();
    }
}
于 2012-08-27T21:31:02.617 回答
2

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

于 2012-08-27T21:49:29.097 回答