为什么80%的码农都做不了架构师?>>>   

public class DatePicker extends FrameLayout

java.lang.Object

android.view.View

android.view.ViewGroup

android.widget.FrameLayout

android.widget.DatePicker

DatePicker   一个选择年月日的日历布局视图

公共方法

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 if this view is enabled, false otherwise.设置为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 返回以前调用onSaveInstanceState()保存下来的状态。

protected Parcelable onSaveInstanceState ()

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

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

返回值

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

=======================

案例一:

1:定义布局文件资源datepicker.xml

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="wrap_content"  android:layout_height="fill_parent" > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:orientation="vertical"  android:layout_width="fill_parent"  android:layout_height="fill_parent"  >   <TextView     android:layout_width="fill_parent"    android:layout_height="wrap_content"android:gravity="center_horizontal"    android:text="选择时间"  />   <DatePicker android:id="@+id/datepicker"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_gravity="center_horizontal"  />   <TimePicker    android:id="@+id/timepicker"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_gravity="center_horizontal"  />   <EditText    android:id="@+id/et"  android:layout_width="fill_parent"  android:layout_height="wrap_content"  android:editable="false"  android:cursorVisible="false"  />
</LinearLayout>
</ScrollView>

2.定义java文件:DatePickerDemo.java

package com.test;import java.util.Calendar;import android.app.Activity;
import android.os.Bundle;
import android.widget.DatePicker;
import android.widget.DatePicker.OnDateChangedListener;
import android.widget.EditText;
import android.widget.TimePicker;
import android.widget.TimePicker.OnTimeChangedListener;public class DatePickerDemo extends Activity {private int year;   private int month;   private int day;   private int hour;   private int minute; private EditText editText;/** Called when the activity is first created. */  @Override  public void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   setContentView(R.layout.datepicker);   DatePicker datapicker = (DatePicker)findViewById(R.id.datepicker);   TimePicker timepicker =(TimePicker)findViewById(R.id.timepicker);  editText = (EditText) findViewById(R.id.et);   Calendar c =Calendar.getInstance();   year =c.get(Calendar.YEAR);   month=c.get(Calendar.MONTH);   day=c.get(Calendar.DAY_OF_MONTH);   hour = c.get(Calendar.HOUR);   minute =c.get(Calendar.MINUTE);   datapicker.init(year, month, day, new OnDateChangedListener() {   @Override  public void onDateChanged(DatePicker view, int year, int monthOfYear,   int dayOfMonth) {   DatePickerDemo.this.year=year;   DatePickerDemo.this.month=monthOfYear;   DatePickerDemo.this.day=dayOfMonth;   showDate(year,month,day,hour,minute);   }   });   timepicker.setOnTimeChangedListener(new OnTimeChangedListener() {   @Override  public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {   // TODO Auto-generated method stub   DatePickerDemo.this.hour=hourOfDay;   DatePickerDemo.this.minute=minute;   }   });   }   private void showDate(int year, int month, int day, int hour,int minute) {   editText.setText(year+"年"+month+"月"+day+"日"+hour+"时"+minute+"分");   }
}

3:执行效果:

转载于:https://my.oschina.net/amigos/blog/66072

android DatePicker相关推荐

  1. Android DatePicker, TimePicker控件的使用

    Android DatePicker, TimePicker控件的使用 public class TimerPickerActivity extends Activity{     private D ...

  2. android datepicker使用方法,android DatePicker

    Date Picker 提供了一个构件去选择一个时间,使用DatePicker构件,该构件允许用户去选择月,日,年在一个界面中. 实例介绍 首先我们应该先创建一个DatePickerDialog,该D ...

  3. android datepicker使用方法,android中DatePicker和TimePicker的使用方法详解

    本文以实例讲述了android中DatePicker和TimePicker的使用方法,具体步骤如下: 下面是实现具体功能的代码,其中main.xml代码为: android:layout_width= ...

  4. android datepicker 自定义,android – 如何使用两个datepicker创建自定义对话框?

    最好先阅读 Dialogs和 Pickers. 至于实现,您可以有两个按钮:一个用于显示开始日期的日期选择器,另一个用于显示结束日期. 编辑:如果你真的想在1个对话框中显示2个日期选择器,这里有一个如 ...

  5. android datepicker 参数设置,如何在Android DatePicker中设置最小和最大日期?

    我使用 Android的默认日期选择器,我支持的最小SDK为10,我想设置日期选择器的最小和最大日期. 以下是我在onCreate方法之后的MainActivity类中的内容: private voi ...

  6. android datepicker控件,android中控件DatePicker控件-Fun言

    activity_main.xml android:id="@+id/dp" android:layout_width="match_parent" andro ...

  7. android datepicker 监听,Android编程之DatePicker和TimePicke简单时间监听用法分析

    本文实例讲述了Android编程之DatePicker和TimePicke简单时间监听用法.分享给大家供大家参考,具体如下: DatePicker和TimePicker都是从FrameLayout派生 ...

  8. android datepicker设置日期,Android DatePicker

    前言 话说日期时间选择控件许多项目都会用到,今天小可不才,也发一个自己写的日期选择控件 先上图 CC8V2$(JPZ`{WT42ICK7F}K.png demo.gif 1.首先自定义日期选择工具类 ...

  9. android datepicker 监听,DatePicker及其监听

    xml文件: android:id="@+id/datep" android:layout_width="wrap_content" android:layou ...

最新文章

  1. VS2005 制作安装程序的一些网络教程
  2. python找人脚本_Python找出微信上删除你好友的人脚本写法
  3. 制作碳排放强度的空间可视化_【科研成果】吴传清、宋子逸:长江经济带农业碳排放的时空差异特征分析...
  4. Nacos更新配置参数不生效
  5. 【转载】CMenu自绘---钩子---去除边框
  6. 4g模块注册上网 移远_通信模组企业 移远通信amp;广和通
  7. rmi远程代码执行漏洞_fastjson远程代码执行漏洞复现
  8. 2-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(监听Wi-Fi和APP的数据)
  9. 如何快速从基因组中提取基因、转录本、蛋白、启动子、非编码序列?
  10. 深度学习精度提升 3 个小妙招:模型集成、知识蒸馏、自蒸馏
  11. 互联网产品的测试策略应该如何设计?
  12. mysql死锁 简单例子_写一个Mysql死锁的例子
  13. 斯凯奇诉爱马仕侵权——品牌发展需警惕知识产权侵权
  14. pc测试xbox精英手柄的软件,Xbox Elite手柄还是Steam手柄?一个PC玩家的手柄之路 篇二:偷懒拖更一万年,补上使用细节及软件部分的测评...
  15. 计算机操作if函数,if函数怎么用【处理攻略】
  16. 兜兜转转还是往前了一小步
  17. C/C++外部链接、内部链接
  18. 艺考生冬日穿泳装秀三围
  19. 如何在小程序中直接跳到关注微信公众号页面
  20. poi报空指针_空指针异常apache poi

热门文章

  1. (八)nodejs循序渐进-事件驱动(进阶篇)
  2. C++STL与泛型编程(2) 第一个C++ STL Application
  3. 运营商取消话费余额有效期后改收闲置费
  4. GPL以及Copyleft协议使用率下降明显
  5. 在 vscode 中使用 Git :拉取、提交、克隆
  6. Spring mvc中@RequestMapping 6个基本用法小结
  7. js字符串、数组和数字常用方法总结
  8. 在Windows下不使用密码远程登陆Linux
  9. 新浪微博之XSS蠕虫脚本源码讲解
  10. 爬虫那些事儿-- 简介