个人也提醒功能的时候用到了TimePickerDialog对话框,查阅了非常多技术资料,可是感觉非常多东西都说的不是非常具体,而且非常多地方。都有不完好的地方。比方有弹出对话框得到的不是系统当前的时间,而是一个其它时间的现象,让人非常是苦闷。所以在经过几度研究之后,决定把个人对此空间的部分理解拿出来与大家讨论。如有不正确之处。敬请谅解。会加以改进。

闲话不多说。直接进入主题:

首先,我们要在程序中声明一个日历的对象,并对其实例化获取日历实例,后面会用到。

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

日历对象另一个重要的方法是setTimeInMillis。该方法仅仅有一个參数,即距离1970年1月1日0时的毫秒数。调用这种方法,则会依据你传入的毫秒数对日历对象中的变量进行对应设置,假设想设置为当前的系统时间,则用下面方式:“c.setTimeInMillis(System.currentTimeMillis());”
以下进入主角,即时间对话框的开发。

给出部分实现代码,详细的细节,自己潜心研究


e1 = (EditText) findViewById(R.id.c1_time);
e1.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
c.setTimeInMillis(System.currentTimeMillis());
int mHour = c.get(Calendar.HOUR_OF_DAY);
int mMinute = c.get(Calendar.MINUTE);
new TimePickerDialog(ClassTimeSet.this,
new TimePickerDialog.OnTimeSetListener() { @Override
public void onTimeSet(TimePicker view,
int hourOfDay, int minute) {
c.setTimeInMillis(System.currentTimeMillis());
c.set(Calendar.HOUR_OF_DAY, hourOfDay);
c.set(Calendar.MINUTE, minute);
c.set(Calendar.SECOND, 0); // 设为 0
c.set(Calendar.MILLISECOND, 0); // 设为 0
}
}, mHour, mMinute, true).show();
}
});

//推断时间的小时和分钟是否低于10的情况
String strHourOfDay = hourOfDay < 10 ?

"0" + hourOfDay : "" + hourOfDay;

 String strMinute = minute < 10 ? "0" + minute : "" + minute;


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


版权声明:本文博主原创文章,博客,未经同意不得转载。

android 时间对话框 TimePickerDialog简介的更多相关文章

  1. Android时间对话框TimePickerDialog介绍

    目前网上流行着很多对“时间对话框TimePickerDialog”的讲解文章,但感觉都不是很详细.这里详细对该方面的知识进行介绍,旨在帮助初学者能够快速掌握该项技术. 首先要做的是声明一个日历类的对象 ...

  2. Android 时间对话框 TimePickerDialog

    private int hourOfDay, minute; @Override protected void onCreate(Bundle savedInstanceState) { super. ...

  3. 日期对话框(DatePickerDialog)和时间对话框(TimePickerDialog)

    效果图 布局 <Button android:id="@+id/btn_date" android:text="弹出日期选择对话框" android:la ...

  4. Android开发 ---构建对话框Builder对象,消息提示框、列表对话框、单选提示框、多选提示框、日期/时间对话框、进度条对话框、自定义对话框、投影

    效果图: 1.activity_main.xml 描述: a.定义了一个消息提示框按钮 点击按钮弹出消息 b.定义了一个选择城市的输入框 点击按钮选择城市 c.定义了一个单选提示框按钮 点击按钮选择某 ...

  5. Android——对话框2(日期和时间对话框)

    xml <Button android:layout_width="match_parent" android:layout_height="wrap_conten ...

  6. android 开发DatePickerDialog/TimePickerDialog对话框的实现

    AndroidAPI提供了Dialog对话框控件,DatePickerDialog/TimePickerDialog均是AlertDialog的子类,通过DatePickerDialog/TimePi ...

  7. Android(对话框)

    一.消息对话框 所谓的消息对话框,就是说当你点击按钮弹框,它会弹出一个消息提示你,消息对话框有相应的确定.取消.其他按钮,比如下方: 代码: //消息提示框 public void testOne(V ...

  8. Android 日期对话框DatePickerDialog

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:id="@ ...

  9. GitHub Android Librarys Top 100 简介

    GitHub Android Librarys Top 100 简介 本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍, 至于排名完全是根据GitHub搜索J ...

随机推荐

  1. C# WinFrom 编写正则表达式验证类

    public class ValidationRegex { /// <summary> /// 正则表达式字符串 /// </summary> public static s ...

  2. MOS管(场效应管)导通条件

    场效应管的导通与截止由栅源电压来控制,对于增强型场效应管来说,N沟道的管子加正向电压即导通,P沟道的管子则加反向电压.一般2V-4V就可以了.    但是,场效应管分为增强型(常开型)和耗尽型(常闭型 ...

  3. JavaScript中document.cookie

    “某些 Web 站点在您的硬盘上用很小的文本文件存储了一些信息,这些文件就称为 Cookie.”—— MSIE 帮助.一般来说,Cookies 是 CGI 或类似,比 HTML 高级的文件.程序等创建 ...

  4. C语言学习之笔记

    第一章 概述 1. C语言的特点 ①语言简洁.紧凑,使用方便.灵活.共有32个关键字(也称保留字),9种控制语句. ②运算符丰富,共有34种运算符. ③数据结构丰富,数据类型有:整型.实型.字符型.数 ...

  5. 小A项目为什么加班

    1.负责架构搭建的人搭建完成架构后,没有进行落地性验证:导致真正要用到的时候才发现spring没有配置:需要对架构人员的进度和内容进行跟踪,在跟踪进度的时候需要强调落地性: 2.负责架构搭建的人没有提 ...

  6. Fiddle的应用

    在Composer中输入测试的网址: 可能会发生一下情况,这意味着需要在左侧面板中选择一项,来看回应:   选择一个请求后,选择TextView,看原生的回应(Response)内容

  7. java Active Object模式(上)

    Active Object模式简介 Active Object模式是一种异步编程模式.它通过对方法的调用与方法的执行进行解耦来提高并发性.若以任务的概念来说,Active Object模式的核心则是它 ...

  8. 1.AJAX简介

    没有AJAX会怎么样?普通的ASP.Net每次执行服务端方法的时候都要刷新当前页面,比如实现显示服务器时间.每次都要刷新页面的坏处:页面刷新打断用户操作.速度慢.增加服务器的流量压力.如果没有AJAX ...

  9. Mac开发者必备实用工具推荐

    最近一个师兄给我推荐了一些Mac上的实用工具,用起来非常顺手,能提高不少开发效率.于是就想着把自己之前用过的其他工具也整理一下,一块推荐给大家,希望能对大家有帮助. Alfred 目前Mac下最好用的 ...

  10. [OpenGL]VS2010配置OpenGL开发环境

    opengl概述 OpenGL(Open Graphics Library)是一个跨编程语言.跨平台的专业图形程序接口. OpenGL是SGI公司开发的一套计算机图形处理系统,是图形硬件的软件接口,任 ...