动态输入日期与时间
来源:互联网 发布:linux iostat命令详解 编辑:程序博客网 时间:2024/05/17 22:18
1、日期、时间拾取器
为了让用户能够选择日期和时间,Android提供了日期时间拾取器,分别是DatePicker组件和TimePicker组件。这两个组件比较简单,可以再Eclipse的可视化界面中,选择对应组件并拖拽到布局文件中。为了可以再程序中获取用户选择的日期、时间,需要为DatePickerTimePicker组件添加事件监听器。其中,DatePicker组件对应的事件监听器是onDateChangedListener,而TimePicker组件对应的时间监听器是OnTimeChangedListener。
1)再布局文件中,添加日期、时间拾取器。
<DatePicker android:id="@+id/dataPicker" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TimePicker android:id="@+id/timePicker" android:layout_width="wrap_content" android:layout_height="wrap_content" />
2)在主活动MainActivity的onCreat()方法中,获取组件,并将时间时间组件设置为24小时制。
DatePicker datePicker = (DatePicker)findViewById(R.id.dataPicker);TimePicker timePicker = (TimePicker)findViewById(R.id.timePicker);timePicker.setIs24HourView(true);3)创建一个日历对象:
Calendar calendar = Calendar.getInstance();//创建日历对象year = calendar.get(Calendar.YEAR);month = calendar.get(Calendar.MONTH);day = calendar.get(Calendar.DAY_OF_MONTH);hour = calendar.get(Calendar.HOUR_OF_DAY);minute = calendar.get(Calendar.MINUTE);second = calendar.get(Calendar.SECOND);4)初始化日期拾取器组件,设置时间监听器:
//为日期拾取器设置监听器datePicker.init(year, month, day, new OnDateChangedListener(){@Overridepublic void onDateChanged(DatePicker arg0, int year, int month,int day) {MainActivity.this.year = year;MainActivity.this.month = month;MainActivity.this.day = day;show(year,month,day,hour,minute,second);}});//为时间拾取器设置监听器timePicker.setOnTimeChangedListener(new OnTimeChangedListener(){@Overridepublic void onTimeChanged(TimePicker view, int hour, int minute) {// TODO Auto-generated method stubMainActivity.this.hour = hour;MainActivity.this.minute = minute;show(year,month,day,hour,minute,second);}});
5)编写show()方法:
private void show(int year,int month,int day,int hour,int minute,int second){String str = year+"年"+(month+1)+"月"+day+"日"+hour+"时"+minute+"分"+second+"秒";Toast.makeText(this, str, Toast.LENGTH_SHORT).show();}
本范例的重点在于学习如何使用DatePicker与TimePicker对象来达成动态调整日期与时间的功能,眼尖的读者应该发现,在范例中,DatePicker实现OnDateChangedListener() 的方法与TimePicker实现OnTimeChangedListener() 的方法是不太相同的。DatePicker对象以init() 这个方法来指定DatePicker初始的年、月、日及OnDateChangedListener() 的事件;而TimePicker对象则是直接以setOnTimeChangedListener() 事件来处理时间改变时程序要做的操作。
在旧版的Android SDK(1.0r2版以前的SDK版本)中,DatePicker对象有提供setOnDateChangedListener() 这个方法,但是在新版的SDK(1.0r2),这个方法被删除了,所以要实现OnDateChangedListener() 时,必须以init() 方式来重写OnDateChangedListener();而TimePicker则直接以 setOnTimeChangedListener() 来实现即可。
2、动态修改日期时间
Android API另外提供了其它的对象来实现动态修改日期时间的功能:DatePickerDialog与TimePickerDialog。这两种类型的对象最大的差别在于DatePicker与TimePicker是直接显示在屏幕画面上,而DatePickerDialog与TimePickerDialog对象则是以跳出Dialog的方式来显示。
DatePickerDialog与TimePickerDialog的实现方式又为何?以下提供简单的范例供各位参考:
/* 取得更改日期的Button,添加onClickListener */Button dButton=(Button)findViewById(R.id.dPicker);dButton.setOnClickListener(new View.OnClickListener(){ public void onClick(View v){ /* onClick时跳出DatePickerDialog */ new DatePickerDialog(EX04_15_1.this,new DatePickerDialog.OnDateSetListener(){ public void onDateSet(DatePicker view,int year, int monthOfYear,int dayOfMonth){ /* 这里放更新日期的方法 */ } },mYear,mMonth,mDay).show(); }});/* 取得更改时间的Button,添加onClickListener */Button tButton=(Button)findViewById(R.id.tPicker);tButton.setOnClickListener(new View.OnClickListener(){ public void onClick(View v){ /* onClick时跳出TimePickerDialog */ new TimePickerDialog(EX04_15_1.this,new TimePickerDialog.OnTimeSetListener(){ public void onTimeSet(TimePicker view,int hourOfDay,int minute){ /* 这里放更新时间的方法 */ } },mHour,mMinute,true).show(); }});
不论是DatePicker、TimePicker,或DatePickerDialog、TimePickerDialog,都可以实现动态更改日期时间的功能,要用哪一种方式来实现,端视各位的应用程序需要啰!本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lewutian/archive/2009/08/20/4467662.aspx
- 动态输入日期与时间
- 动态输入日期与时间
- android中动态输入日期与时间
- 动态输入日期与时间(DatePicker与TimePicker应用)
- 动态输入日期和时间
- 安卓入门:动态输入日期与时间
- 动态输入日期和时间---DatePicker与TimePicker
- javascript方法动态显示前一天与后一天日期时间
- 日期与时间处理三(输入两个日期(年 月 日),求两个日期之间相隔的天数)
- JS动态显示日期时间
- javascript动态显示日期时间
- EasyUI实现日期时间输入标签只可以输入日期
- javascript日期与时间
- Oracle日期与时间
- 日期与时间
- JAVA日期与时间
- 获取日期与时间
- 显示日期与时间
- java 层生成文件如csv,在excel中打开乱码
- android java.net.SocketException: Connection reset by peer
- C/C++中const关键字详解
- 二叉树
- 对称排序(稳定排序问题)
- 动态输入日期与时间
- 基于STM32F103的悬挂运动控制系统项目总结
- POJ 3321 - Apple Tree DFS出时间搓,树状数组统计维护..
- hdu 4455 Substrings 预处理+递推
- JavaIO之标准输入输出(二)
- magento常用函数列表
- Linux2.6.6 内核下 ACPI PCI Hot-Plug 的实现机制(上)
- tcp头部在linux中的实现tcphdr
- 预编译的作用和目的