Android实现倒计时30分钟功能

发布时间 - 2026-01-11 01:07:35    点击率:

以30分钟为例写的一个倒计时:
直接上代码

public class MainActivity extends AppCompatActivity {

  private int minute = 30;//这是分钟
  private int second = 0;//这是分钟后面的秒数。这里是以30分钟为例的,所以,minute是30,second是0
  private TextView timeView;
  private Timer timer;
  private TimerTask timerTask;
  //这是接收回来处理的消息
  private Handler handler = new Handler() {
    public void handleMessage(Message msg) {
      if (minute == 0) {
        if (second == 0) {
          timeView.setText("Time out !");
          if (timer != null) {
            timer.cancel();
            timer = null;
          }
          if (timerTask != null) {
            timerTask = null;
          }
        } else {
          second--;
          if (second >= 10) {
            timeView.setText("0" + minute + ":" + second);
          } else {
            timeView.setText("0" + minute + ":0" + second);
          }
        }
      } else {
        if (second == 0) {
          second = 59;
          minute--;
          if (minute >= 10) {
            timeView.setText(minute + ":" + second);
          } else {
            timeView.setText("0" + minute + ":" + second);
          }
        } else {
          second--;
          if (second >= 10) {
            if (minute >= 10) {
              timeView.setText(minute + ":" + second);
            } else {
              timeView.setText("0" + minute + ":" + second);
            }
          } else {
            if (minute >= 10) {
              timeView.setText(minute + ":0" + second);
            } else {
              timeView.setText("0" + minute + ":0" + second);
            }
          }
        }
      }
    }

  };


  @Override
  protected void onCreate(Bundle savedInstanceState) {
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    timeView = (TextView) findViewById(R.id.tv);

    timeView.setText(minute + ":" + second);

    timerTask = new TimerTask() {

      @Override
      public void run() {
        Message msg = new Message();
        msg.what = 0;
        handler.sendMessage(msg);
      }
    };

    timer = new Timer();
    timer.schedule(timerTask, 0, 1000);

  }

  @Override
  protected void onDestroy() {
    if (timer != null) {
      timer.cancel();
      timer = null;
    }
    if (timerTask != null) {
      timerTask = null;
    }
    minute = -1;
    second = -1;
    super.onDestroy();
  }

  @Override
  protected void onStart() {
    super.onStart();
  }

  @Override
  protected void onStop() {
    super.onStop();
  }

  @Override
  protected void onResume() {
    super.onResume();
  }

  @Override
  protected void onRestart() {
    super.onRestart();
  }

  @Override
  protected void onPause() {
    super.onPause();
  }
}

ok,这就完成了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Android  # 倒计时  # android自定义倒计时控件示例  # android实现倒计时功能代码  # Android实现计时与倒计时的常用方法小结  # Android自定义圆形倒计时进度条  # Android实现倒计时方法汇总  # Android启动页面定时跳转的三种方法  # Android利用CountDownTimer实现倒计时功能 Android实现停留5s跳转到登录页  # Android 实现页面跳转  # Android使用Intent实现页面跳转  # Android实现倒计时结束后跳转页面功能  # 这是  # 为例  # 这就  # 大家多多  # 完成了  # TimerTask 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  JavaScript如何实现倒计时_时间函数如何精确控制  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  微信小程序 scroll-view组件实现列表页实例代码  ,南京靠谱的征婚网站?  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南  Laravel Fortify是什么,和Jetstream有什么关系  JavaScript如何实现路由_前端路由原理是什么  Python文件异常处理策略_健壮性说明【指导】  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  Android中AutoCompleteTextView自动提示  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  如何在万网主机上快速搭建网站?  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  js代码实现下拉菜单【推荐】  Laravel如何创建自定义Artisan命令?(代码示例)  Laravel集合Collection怎么用_Laravel集合常用函数详解  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  利用vue写todolist单页应用  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  EditPlus中的正则表达式实战(5)  Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】  🚀拖拽式CMS建站能否实现高效与个性化并存?  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  iOS正则表达式验证手机号、邮箱、身份证号等  详解Android图表 MPAndroidChart折线图  轻松掌握MySQL函数中的last_insert_id()  如何在建站主机中优化服务器配置?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  LinuxShell函数封装方法_脚本复用设计思路【教程】  百度浏览器如何管理插件 百度浏览器插件管理方法  PHP 500报错的快速解决方法  Android滚轮选择时间控件使用详解  Linux系统命令中tree命令详解  Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  高端网站建设与定制开发一站式解决方案 中企动力  太平洋网站制作公司,网络用语太平洋是什么意思?  如何基于云服务器快速搭建网站及云盘系统?  JavaScript如何操作视频_媒体API怎么控制播放  Laravel如何配置任务调度?(Cron Job示例)  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  jquery插件bootstrapValidator表单验证详解  手机网站制作与建设方案,手机网站如何建设?  JavaScript实现Fly Bird小游戏  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法