安卓时间选择器,时间对话框,DatePickerDialog类。
来源:互联网 发布:如何挑选油烟机知乎 编辑:程序博客网 时间:2024/06/09 14:34
<span style="font-family: 微软雅黑; font-size: 9.6pt; background-color: rgb(228, 228, 255);">先解析,再上代码。</span>
给一个图片或者文本框(常用是文本框添加点击事件)
即可以创建一个时间选择器,第一个参数为调用它的活动,第二个参数是监听器(下文会提到),第三、四、五个参数分别为初始化的年月日,.show()显示这个对话框。三四五不传时,初始化的值为1970 01 01,这并不是理想的结果,所以一般在构造时间选择对话框的时候都会初始化这个值为当前时间。new DatePickerDialog(MainActivity.this, mDateSetListener_in, mYear_in, mMonth_in, mDay_in).show();所以正常写法是这样Calendar calendar = Calendar.getInstance();//拿到calendar类mYear_in = calendar.get(Calendar.YEAR);//拿到当前年mMonth_in = calendar.get(Calendar.MONTH);//当前月mDay_in = calendar.get(Calendar.DAY_OF_MONTH);//当前日new DatePickerDialog(MainActivity.this, mDateSetListener_in, mYear_in, mMonth_in, mDay_in).show();下面讲监听器,这个监听器为 DatePickerDialog.OnDateSetListener() 类,需要重写onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) 方法。每当在对话框选择一个时间时,便会触发这个监听器的onDateSet方法,传入的参数year为选择的年,monthofyear为选择的月,dayofmonth为选择的日。(时间的月份从0开始计数),便可在这个监听器里面进行赋值操作,或者handler操作,等等。示例:按钮点击时:Calendar calendar = Calendar.getInstance(); mYear_in = calendar.get(Calendar.YEAR); Yearmax_in = mYear_in; mMonth_in = calendar.get(Calendar.MONTH); Monthmax_in = mMonth_in; mDay_in = calendar.get(Calendar.DAY_OF_MONTH); Daymax_in = mDay_in; tv_time_in.setText(mYear_in + "年" + (mMonth_in + 1) + "月" + mDay_in + "日"); tv_time_in.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new DatePickerDialog(MainActivity.this, mDateSetListener_in, mYear_in, mMonth_in, mDay_in).show(); } });监听器:<pre name="code" class="java"> private DatePickerDialog.OnDateSetListener mDateSetListener_in = new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { if (year < Yearmax_in) {//只要年小于即可 mYear_in = year; mMonth_in = monthOfYear; mDay_in = dayOfMonth; handler.sendEmptyMessage(5);//选完后通知handler修改显示的值 } else if (year == Yearmax_in && monthOfYear < Monthmax_in) {//年等于,月份小于即可 mYear_in = year; mMonth_in = monthOfYear; mDay_in = dayOfMonth; handler.sendEmptyMessage(5);//选完后通知handler修改显示的值 } else if (year == Yearmax_in && monthOfYear == Monthmax_in && dayOfMonth <= Daymax_in) {//年等于,月份等于,天数小于等于 mYear_in = year; mMonth_in = monthOfYear; mDay_in = dayOfMonth; handler.sendEmptyMessage(5);//选完后通知handler修改显示的值 } else {//其他情况均设置失败 handler.sendEmptyMessage(6); } } };以上加上了判断确保选择的值不会超过当前系统时间。
0 0
- 安卓时间选择器,时间对话框,DatePickerDialog类。
- DatePickerDialog TimePickerDialog时间选择器对话框
- 时间选择器和日期选择器 对话框 TimePickerDialog DatePickerDialog
- 时间对话框。。。datePickerDialog&timePickerDialog
- 设置时间对话框-DatePickerDialog
- 时间对话框DatePickerDialog
- 安卓原生自带的日期选择器DatePickerDialog、时间选择器TimePickerDialog使用方法
- 安卓时间选择器
- DatePickerDialog\TimePickerDialog日期时间选择器
- 简单的时间选择器DatePickerDialog
- Android_日期选择器DatePickerDialog、时间选择器TimePickerDialog
- 第八章—进度对话框ProgressDialog、日期选择器DatePickerDialog、时间选择器TimePickerDialog
- 时间选择器DatePickerDialog的简单demo
- 时间设置对话框 DatePickerDialog的使用
- DatePickerDialog和TimePickerDialog时间选择对话框
- 时间设置对话框 DatePickerDialog的使用
- 时间设置对话框DatePickerDialog的使用
- 时间日期选择器、对话框
- TCP三次握手与DDOS攻击原理
- hibernate二级缓存应用
- 【GDOI2014模拟】Tree
- java 工厂模式
- ListView或者RecycleView滚动时隐藏Toolbar (1)
- 安卓时间选择器,时间对话框,DatePickerDialog类。
- 第十六周上机实践项目4(2):程序设计
- 读取设备文件属性(鼠标)
- Android中读取properties文件
- 第十六周上机实践项目4(3):程序设计
- 策略模式
- Tesseract-OCR 3.02命令行程序的使用
- 第十六周上机实践项目5(1):小玩文件
- TortoiseGit(乌龟git)保存用户名密码