个人也提醒功能的时候用到了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. Valid Phone Numbers

    Given a text file file.txt that contains list of phone numbers (one per line), write a one liner bas ...

  2. Ajax之HTTp请求

    71.Ajax的基础概念  *运用html和css来实现页面表达信息  *运用XMLHttpRequest和web服务器进行数据的异步交换  *运用JavaScript操作DOM来实现动态局部刷新 2 ...

  3. HTML 动态显示系统当前时间

    HTML 动态显示系统当前时间: <div id="time"> <script> document.getElementById('time').inne ...

  4. Python学习的一些好资料

    教程: 1. 廖雪峰的Python教程:http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a0 ...

  5. ArcGis Engine 读取自定义prj坐标系文件时,中文名称乱码

    今天测试时发现使用ArcMap自定义一个坐标系,将坐标系名称设置为中文,基准面名称选择为自定义后,然后保存成prj文件. 在自己的程序中读取该prj文件后,发现ISpatialReference 对象 ...

  6. xml格式化写入文件

    参考xml文件地址:http://cloudprint.cainiao.com/template/standard/101 代码: package main import ( "encodi ...

  7. 关于 Boolean 的转换

    前端经常喜欢这样写 if else if(value) { //do something } javascript 能智能的把任何类型的 value 转换成 boolean 来进行 if 判断 转换是 ...

  8. javascript类型系统之Array

    原文:javascript类型系统之Array 目录 [1]数组创建 [2]数组操作 [3]继承的方法 [4]实例方法 数组转换 数组检测 栈和队列 排序方法 操作方法 位置方法 前面的话 数组是一组 ...

  9. Eclipse调试的一些小技巧

    不要使用System.out.println作为调试工具 启用所有组件的详细的日志记录级别 使用一个日志分析器来阅读日志 1.条件断点 想象一下我们平时如何添加断点,通常的做法是双击行号的左边.在de ...

  10. hust-1024-dance party(最大流--枚举,可行流判断)

    题意: 舞会上,男孩和女孩配对,求最大完全匹配个数,要求每个人最多与k个不喜欢的人配对,且每次都和不同的人配对. 分析: 将一个点拆成3个点. b,  b1, b2.   从1到n枚举ans,  判可 ...