java–CountDownTimer-用户递增.问题

java–CountDownTimer-用户递增.问题,第1张

概述我有一个关于CountDownTimer的问题.我必须创建一个应用程序,允许用户每次单击按钮时将时间时间增加1.然后在按钮停止点击后等待三秒钟,然后开始倒计时.我粘贴了下面的代码.我的问题是:我似乎无法使数字的增量正常工作,但似乎在我停止递增数字后(onStop())它直接转到(onFinish()).

我有一个关于CountDownTimer的问题.我必须创建一个应用程序,允许用户每次单击按钮时将时间时间增加1.然后在按钮停止点击后等待三秒钟,然后开始倒计时.

我粘贴了下面的代码.

我的问题是:我似乎无法使数字的增量正常工作,但似乎在我停止递增数字后(onStop())它直接转到(onFinish()).而不是去OnTick()并将数字每秒减少1.我已经尝试了很多方法来解决这个问题,但一直困扰着.

任何人都可以带领我做正确的方向吗?任何帮助,将不胜感激.感谢大伙们!

 @SuppressWarnings("unused")    public class MainActivity extends Activity {        public int countdown;        button stoptime;        public TextVIEw timedisplay;        public Timer wavetimer;        private long millisInFuture;        private long countDownInterval;        private long onclicktime;        private long finished;    @OverrIDe    public voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.activity_main);             countdown = 01;        stoptime = (button) findVIEwByID(R.ID.button2);        stoptime.setText("Stop Timer");        timedisplay = (TextVIEw) findVIEwByID(R.ID.mycounter);        timedisplay.setText("0");        wavetimer = new Timer (millisInFuture, 1000);        finished = 0;        stoptime.setonClickListener(new OnClickListener(){        public voID onClick(VIEw arg0) {            wavetimer.onStop();            //try{            //  Thread.sleep(3000);            //  wavetimer.start();            //} catch (InterruptedException e) {            //  e.printstacktrace();        //  }            //wavetimer.onTick(millisInFuture);        }          });    }    @OverrIDe    public boolean onCreateOptionsMenu(Menu menu) {        getMenuInflater().inflate(R.menu.activity_main, menu);        return true;    }    public class Timer extends CountDownTimer  {    public long millisInFuture;    private long countDownInterval = 1000;    private long currentelapsed;    private long methodlimit;    private long lapsedperiod;    public Timer(long millisInFuture, long countDownInterval) {        super(millisInFuture, countDownInterval);    }    public voID onFinish() {        if (millisInFuture == 0){        timedisplay.setText("Countdown Finished");        } else {            timedisplay.setText("error");        }    }    public voID onStop() {        wavetimer.cancel();        millisInFuture = millisInFuture + 1;        timedisplay.setText("Time left: " + millisInFuture);    }    public voID onTick(long millisUntilFinished) {            millisInFuture = (millisInFuture - 1);            timedisplay.setText("Time left: " + millisInFuture / 1000);        }    } }

解决方法:

将其添加到您的代码中;

wavetimer.start();

总结

以上是内存溢出为你收集整理的java – CountDownTimer-用户递增.问题全部内容,希望文章能够帮你解决java – CountDownTimer-用户递增.问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1097262.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存