Android常用控件-DatePicker以及对话框的两种使用方法
来源:互联网 发布:三菱plc编程方法 编辑:程序博客网 时间:2024/06/05 14:28
DatePicker:
java.lang.Object ↳android.view.View ↳android.view.ViewGroup ↳android.widget.FrameLayout ↳android.widget.DatePickerDatePicker是一个选择日期的控件。
与DataPicker相似的一个控件是TimePicker,用法相同.
如何使用DatePicker:
1、先写一个布局,该布局中包含一个TextView用来显示日期,另有一个Button,用来显示DatePicker控件。
2、产生一个DatePicker的对话框,在主activity中:
这时候当运行程序,点击按键时,会报错:
此时程序应该运行到activity调用showDialog方法,该方法会触发当前activity的onCreateDialog()回调函数的调用,所以我们应该重写当前activity的onCreateDialog()函数,并在其内实例化一个DatePickerDialog,实例化DatePickerDialog需要为其指定事件监听器,所以我们还要为其提供一个事件监听器,完整的activity代码如下:
这样,成功运行,效果如下:
3、还有另一种方式产生DatePicker的对话框,这种方式的思路是将DatePicker控件单独作为一个activity,并由主activity对其发出请求,当选择好日期后,用户点击确定键时,DatePicker的activity会将日期返回给主activity。但是我们希望DatePicker以对话框的形式出现,这就需要我们修改DatePicker的activity的风格属性android:theme
看例子:
首先新建一个activity:如何建:在资源文件的layout目录下定义一个xml文件作为布局文件(datepicker.xml):
定义一个类(DataPickerActivity)继承自Activity,重写其onCreate()函数,并在其内部加载布局文件:
在AndroidManifest.xml文件中声明新的Activity:
注意DatePickerActivity的<activity>元素有一个属性android:theme= "@android:style/Theme.Dialog" 声明该activity以对话框形式出现。这时候我们可以在主activity中发送一个intent来获取结果,这里要用到Activity的startActivityForResult()获得结果数据,我引用了些别人的东西来说明获得结果数据的方法步骤:
有两个Activity,A,B,由A启动B,并传数据给B,B在经过处理后把数据传回给A。举个例子,A是主程序,B是设置参数的Activity,在B修改设置后,要让A重新读取设置,就要用到回传数据.主要是两个函数startActivityForResult onActivityResult
先是A传B:
然后就是B接收再传回:
A里的接收代码:
接下来修改我们的代码
在主activity中需要调用startActivityForResult 函数来发送请求intent,并重写onActivityResult回调函数来获得返回的结果:
相应的,DatePickerActivity也要做修改,返回结果:
运行效果如下:
- Android常用控件-DatePicker以及对话框的两种使用方法
- Android常用控件-DatePicker以及对话框的两种使用方法
- Android常用控件-DatePicker以及对…
- jquery的datepicker()控件使用方法
- DatePicker日历对话框的两种创建方法
- android控件DatePicker的使用
- android 常用控件 (DatePicker) (TimePicker)
- #Android#常用控件使用方法
- 时间对话框 android DatePicker的使用
- Android程序:TimePicker和DatePicker的两种实现案例
- Android常用控件的基本使用方法
- 常用控件的使用方法
- 常用控件的使用方法
- android中Date对象的简单应用,以及TimePicker和DatePicker控件
- android的DatePicker控件bug处理
- DatePicker 控件的使用 android 开发
- DatePicker的使用方法
- DatePicker,TimePicker的使用方法
- JAVA的Collections类中shuffle的用法
- hdu3402_Ants run!
- Oracle的dual表作用
- head first设计原则总结
- jdbc大数据量查询优化(转)
- Android常用控件-DatePicker以及对话框的两种使用方法
- OpenMP模式下多线程文件操作(三)
- vsftpd 安装(vsftpd 530 login incorrect 报错)
- mysql基础篇(四)
- RTEMS DM9000网卡驱动在MINI2440 QEMU上的实现
- mysql基础篇(四)
- Oracle数据库中大数据量查询优化问题--分区表的操作方法
- 第一次发文
- VC6.0迁移到VS2005:error C2440