Android 中文 API (20) —— DatePicker

简介:

一、结构

    public class DatePicker extends FrameLayout

    java.lang.Object

      android.view.View

        android.view.ViewGroup

          android.widget.FrameLayout

                                 android.widget.DatePicker

二、概述 

    

    一个选择年月日的日历布局视图。对于对话框样式的日历视图,参见DatePickerDialog.

三、公共方法

         public int getDayOfMonth ()

         获取选择的天数

         public int getMonth ()

         获取选择的月份。(注意:返回数值为0..11,需要自己+1来显示)

         public int getYear ()

         获取选择的年份

         public void init (int year, int monthOfYear, int dayOfMonth, DatePicker.OnDateChangedListener onDateChangedListener)

         初始化状态。(译者注:初始化年月日)

                   参数

                            year         初始年(译者注:注意使用new Date()初始化年时,需要+1900,如下:date.getYear() + 1900

                            monthOfYear 初始月。

                            dayOfMonth  初始日。

                            onDateChangedListener         日期改变时通知用户的事件监听,可以为空(null)

         public void setEnabled (boolean enabled)

         设置视图的启用状态。该启用状态随子类的不同而有不同的解释。

                   参数

                            enabled  设置为true表示启动视图,反之禁用。

         public void updateDate (int year, int monthOfYear, int dayOfMonth)

         更新日期

四、受保护方法

         protected void dispatchRestoreInstanceState (SparseArray<Parcelable> container)

         重写使我们能够完全控制这小部件的保存或恢复。(译者注:此处直接调用了父类的ViewGroup. dispatchThawSelfOnly方法)

                   参数

                            container         SparseArray 持有保存以前的状态。The SparseArray which holds previously saved state.

         protected void onRestoreInstanceState (Parcelable state)

         允许视图重新应用以前通过onSaveInstanceState()生成代表内部的状态。这个函数决不调用一个空的状态。

                   参数

                            state       The frozen state that had previously been returned by onSaveInstanceState().

返回以前调用onSaveInstanceState()保存下来的状态。

         protected Parcelable onSaveInstanceState ()

         允许视图生成一个代表内部的状态,以后可用于创建一个与之相同的新的实例。这种状态应该只包含非持久或以后不能够重建的信息。例如,你决不存储你当前在屏幕上的位置,因为这会在视图的层面上重新计算放置一个新的实例。

         你可以存储到这里的一些例子:一个文本框中当前光标的位置(但通常不是文字本身,文字通常保存在内容提供者(content provider)或其他持久的储存中),一个列表视图中的当前选中项。

                   返回值

                            返回一个包含视图当前状态的Parcelable对象,或没有什么状态保存时返回null。默认实现返回null

五、补充

    5.1  如果只想显示年月或者是月日,可以取巧用android:layout_marginLeft属性控制显示隐藏控件一部分。

    5.2  如果用Date初始化的时候,需要注意年的问题:

             Date date  =   new  Date();
             dpDate.init(date.getYear() 
+   1900 , date.getMonth(),  1 null );

      代码说明:dpDate为DatePicker控件。

    5.3  相关文章链接

      DatePicker的一些问题

      日期選擇器(DatePicker)和時間選擇器(TimePicker)

      Android中动态输入日期与时间-DatePicker与TimePicker应用

本文转自博客园农民伯伯的博客,原文链接:Android 中文 API (20) —— DatePicker,如需转载请自行联系原博主。

目录
相关文章
|
5月前
|
Android开发
Android 11 修改libcore update-api 遇到的问题
Android 11 修改libcore update-api 遇到的问题
138 1
|
2月前
|
编译器 API Android开发
Android经典实战之Kotlin Multiplatform 中,如何处理不同平台的 API 调用
本文介绍Kotlin Multiplatform (KMP) 中使用 `expect` 和 `actual` 关键字处理多平台API调用的方法。通过共通代码集定义预期API,各平台提供具体实现,编译器确保正确匹配,支持依赖注入、枚举类处理等,实现跨平台代码重用与原生性能。附带示例展示如何定义跨平台函数与类。
71 0
|
4月前
|
API Android开发 开发者
`RecyclerView`是Android API 21引入的UI组件,用于替代ListView和GridView
【6月更文挑战第26天】`RecyclerView`是Android API 21引入的UI组件,用于替代ListView和GridView。它提供高效的数据视图复用,优化的布局管理,支持多种布局(如线性、网格),并解耦数据、适配器和视图。RecyclerView的灵活性、性能(如局部刷新和动画支持)和扩展性使其成为现代Android开发的首选,特别是在处理大规模数据集时。
50 2
|
4月前
|
Java Linux API
微信API:探究Android平台下Hook技术的比较与应用场景分析
微信API:探究Android平台下Hook技术的比较与应用场景分析
|
5月前
|
SQL API Android开发
Android API:Activity.managedQuery()
Android API:Activity.managedQuery()
38 2
|
5月前
|
API 定位技术 开发工具
Android Studio2021.1.1 高德地图api调用这一篇就够了
Android Studio2021.1.1 高德地图api调用这一篇就够了
|
5月前
|
API Android开发
Android Framework增加API 报错 Missing nullability on parameter
Android Framework增加API 报错 Missing nullability on parameter
270 1
|
5月前
|
API Android开发
对于应用研发平台EMAS中安卓 API 32 收不到 FCM 推送的问题
对于应用研发平台EMAS中安卓 API 32 收不到 FCM 推送的问题
101 3
下一篇
无影云桌面