全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android时间对话框TimePickerDialog详解

目前网上流行着很多对“时间对话框TimePickerDialog”的讲解文章,但感觉都不是很详细。所以浣熊在这里详细对该方面的知识进行介绍,旨在帮助初学者能够快速掌握该项技术。

首先要做的是声明一个日历类的对象:
private Calendar c;

然后对其进行实例化:
c = Calendar.getInstance();

实例化后便可以对该日历对象进行操作了,如c.get方法可以获得该日历对象中的相关变量(如年、月、日、时、分、秒等),这些变量的值在实例化“c = Calendar.getInstance();”时已经被设置为系统默认时间;利用c.set方法可以对日历对象的相关变量进行设置。

日历对象还有一个重要的方法是setTimeInMillis,该方法只有一个参数,即距离1970年1月1日0时的毫秒数,调用这个方法,则会根据你传入的毫秒数对日历对象中的变量进行相应设置,如果想设置为当前的系统时间,则用以下方式:“c.setTimeInMillis(System.currentTimeMillis());”

介绍完日历类相关知识后进入正题,即时间对话框的开发。给出如下实例代码,其中红色部分为弹出对话框的按钮监听代码;蓝色代码为设置日历对象代码;剩下的便是时间对话框代码。

final ImageButton time = (ImageButton) findViewById(R.id.time);
    time.setOnClickListener(new ImageButton.OnClickListener() {
    public void onClick(View view){
      c.setTimeInMillis(System.currentTimeMillis());   
      int hour = c.get(Calendar.HOUR_OF_DAY);       
      int minute = c.get(Calendar.MINUTE);
      new TimePickerDialog(MenuView.this,new OnTimeSetListener() {
        @Override
        public void onTimeSet(TimePicker view,inthourOfDay,int minute)
        {
          c.setTimeInMillis(System.currentTimeMillis());            
          c.set(Calendar.HOUR_OF_DAY,hourOfDay);            
          c.set(Calendar.MINUTE, minute);            
          c.set(Calendar.SECOND, 0);            
          c.set(Calendar.MILLISECOND, 0);                     
        }        
      }, hour, minute, true).show();
    }
    });

TimePickerDialog方法有五个参数,第一个参数(MenuView.this)为弹出的时间对话框所在的activity指针;第二个参数我们最后说;第三个参数(hour)和第四个参数(minute)为弹出的时间对话框的初始显示的小时和分钟,这两个变量在蓝色代码中进行初始化;第五个参数为设置24时显示参数,true代表时间以24时制显示时间。

下面回过头来说第二个参数,首先我们要了解一下时间对话框的样式,如下图所示:

点击“+”标题处和方框中的数字会同时增加,同理点击“-”则数字以1递减。对话框有两个button,点击“Cancel”按钮后没有任何操作,而如果点击了“Set”按钮,则会执行onTimeSet方法中的代码(橘黄色)。
所以根据示例代码的逻辑,点击弹出时间对话框的按钮后,显示的是系统当前时间,调整好时间后点击Set按钮,日历对象的时间变量改为设置的时间。但是再次点击弹出时间对话框按钮后,显示的仍是系统当前时间(蓝色代码中的c.setTimeInMillis(System.currentTimeMillis());)。当然,如果想在程序退出后记录上一次设置的时间值,可以考虑使用轻量级数据库Preferences相关知识解决。

以上就是时间对话框TimePickerDialog的相关知识,当然Android也有日期对话框DatePickerDialog,两者的原理都是相通的,在这里就不再赘述了。


# Android  # 时间对话框  # TimePickerDialog  # Android对话框AlertDialog详解  # Android AlertDialog(对话框)实例详解  # Android AlertDialog六种创建方式案例详解  # Android AlertDialog多种创建方式案例详解  # Android AlertDialog的几种用法详解  # Android开发之DatePickerDialog、TimePickerDialog时间日期对话框  # Android使用DatePickerDialog显示时间  # Android对话框AlertDialog与DatePickerDialog及TimePickerD  # 对话框  # 弹出  # 的是  # 在这里  # 相关知识  # 第二个  # 设置为  # 则会  # 象中  # 都是  # 也有  # 第一个  # 没有任何  # 不是很  # 这两个  # 作了  # 对其  # 要做  # 便可  # 仍是 


相关文章: 如何快速生成橙子建站落地页链接?  定制建站方案优化指南:企业官网开发与建站费用解析  建站主机SSH密钥生成步骤及常见问题解答?  如何在万网开始建站?分步指南解析  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  如何在阿里云高效完成企业建站全流程?  制作网站的过程怎么写,用凡科建站如何制作自己的网站?  三星网站视频制作教程下载,三星w23网页如何全屏?  建站之家VIP精选网站模板与SEO优化教程整合指南  如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本  建站之星后台管理如何实现高效配置?  大连 网站制作,大连天途有线官网?  如何快速搭建响应式可视化网站?  实现虚拟支付需哪些建站技术支撑?  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  建设网站制作价格,怎样建立自己的公司网站?  建站主机选购指南与交易推荐:核心配置解析  如何用西部建站助手快速创建专业网站?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站之星如何快速生成多端适配网站?  网站制作企业,网站的banner和导航栏是指什么?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  如何选择高效可靠的多用户建站源码资源?  图册素材网站设计制作软件,图册的导出方式有几种?  公司网站的制作公司,企业网站制作基本流程有哪些?  如何用wdcp快速搭建高效网站?  Python多线程使用规范_线程安全解析【教程】  ,在苏州找工作,上哪个网站比较好?  再谈Python中的字符串与字符编码(推荐)  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  如何通过VPS建站实现广告与增值服务盈利?  如何高效生成建站之星成品网站源码?  建站中国官网:模板定制+SEO优化+建站流程一站式指南  建站之星ASP如何实现CMS高效搭建与安全管理?  如何在服务器上三步完成建站并提升流量?  建站之星客服服务时间及联系方式如何?  建站之星展会模版如何一键下载生成?  如何在自有机房高效搭建专业网站?  深圳网站制作平台,深圳市做网站好的公司有哪些?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  大连网站设计制作招聘信息,大连投诉网站有哪些?  如何零基础开发自助建站系统?完整教程解析  b2c电商网站制作流程,b2c水平综合的电商平台?  如何快速选择适合个人网站的云服务器配置?  电商网站制作公司有哪些,1688网是什么意思?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。