如何在android中反向启动天文台?

Sag*_*yad 19 android

cmtr.setText(finalTime);
cmtr.setBase(SystemClock.elapsedRealtime());

timetest = SystemClock.elapsedRealtime();
Log.d("SETTIME: ", ""+timetest);
cmtr.start();

eltime = SystemClock.elapsedRealtime();
Log.d("ELapsed: ", ""+eltime);
Run Code Online (Sandbox Code Playgroud)

注意:我想以相反的顺序启动我的天文台表.就像我设置天文钟10秒.现在,我想以相反的顺序从10到0秒开始.所以任何人都可以帮助获得这个解决方案.非常感谢你提前.

Pau*_*Jan 51

你不能,Chronometer小部件只计算,这是它的特定用途.如果您想倒计时,请使用CountDownTimer(Android SDK页面包含更新TextView的特定示例),或者推送您自己的解决方案.

这些类是琐碎的包装器,可以节省一些打字.如果他们不符合您的确切需求,您真的不应该感到不舒服.

[更新]

正如Ronaldo Bahia在评论中补充的那样,自从API 24以来,Chronometer实际上通过setCountDown方法实现了这一功能.


Man*_*dan 17

你不能计时小工具倒计时.使用下面的CountDownTimer示例我的倒计时从01:45开始1秒= 1000

 CountDownTimer cT =  new CountDownTimer(100000, 1000) {

         public void onTick(long millisUntilFinished) {


                 String v = String.format("%02d", millisUntilFinished/60000);
                 int va = (int)( (millisUntilFinished%60000)/1000);
                 textView.setText("seconds remaining: " +v+":"+String.format("%02d",va));
         }

         public void onFinish() {
             textView.setText("done!");
         }
      };
      cT.start();
Run Code Online (Sandbox Code Playgroud)