首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >安卓启动倒计时定时器onPreExecute结束onPostExecute

安卓启动倒计时定时器onPreExecute结束onPostExecute
EN

Stack Overflow用户
提问于 2020-01-17 17:24:04
回答 1查看 39关注 0票数 0

我正在尝试显示一个倒计时计时器onPreExecute并在onPostExecute.I上结束计时器。我有下面的代码,它工作得很好onPreExecute,但我找不到任何方法来关闭这个计时器在onPostExecute.Below上是我的计时器代码

代码语言:javascript
复制
            new CountDownTimer(240000, 1000) { // adjust the milli seconds here

                public void onTick(long millisUntilFinished) {
                    String time=""+String.format("%d min, %d sec",
                            TimeUnit.MILLISECONDS.toMinutes( millisUntilFinished),
                            TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) -
                                    TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished)));
                    Toast.makeText(context, time, Toast.LENGTH_SHORT).show();
                }

                public void onFinish() {

                    Intent i=new Intent(context,MainActivity.class);
                    context.startActivity(i);
                    Toast.makeText(context, "oops! Pls check your net connection", Toast.LENGTH_SHORT).show();

                }
            }.start();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-17 17:31:38

创建定时器的全局变量

代码语言:javascript
复制
CountDownTimer mTimer = null;

在PreExecute()写入时

代码语言:javascript
复制
@Override
protected  void onPreExecute()
{
  mTimer = new CountDownTimer(240000, 1000) { // adjust the milli seconds here

            public void onTick(long millisUntilFinished) {
                String time=""+String.format("%d min, %d sec",
                        TimeUnit.MILLISECONDS.toMinutes( millisUntilFinished),
                        TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) -
                                TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished)));
                Toast.makeText(context, time, Toast.LENGTH_SHORT).show();
            }

            public void onFinish() {

                Intent i=new Intent(context,MainActivity.class);
                context.startActivity(i);
                Toast.makeText(context, "oops! Pls check your net connection", Toast.LENGTH_SHORT).show();

            }
        }.start();
}

现在开始postExecute()编写

代码语言:javascript
复制
@Override
protected  void onPostExecute()
{
  mTimer.cancel();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59784438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档