`

7.1.2 DatePicker结合案例详解

阅读更多
DatePicker是Android的日期设置控件。DatePicker类的继承图如下:
java.lang.Object
   ↳android.view.View
   ↳android.view.ViewGroup
   ↳android.widget.FrameLayout
   ↳android.widget.DatePicker
android.widget.DatePicker继承了android.widget.FrameLayout框架布局类。DatePicker例子如图7-7所示,从左到右是年、月、日的设置,改变年月日都会触发OnDateChanged事件,当点击“按钮”可以获得当前设置的时间。
 


图7-7 DatePicker
请参考代码清单7-6,完整代码请参考chapter7_1工程中chapter7_DatePicker代码部分。
【代码清单7-6】
public class chapter7_DatePicker extends Activity {
	private TextView mDateDisplay;
	private DatePicker datePicker;
	private Calendar c;
	private Button button;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.datepicker_layout);
		datePicker = (DatePicker) findViewById(R.id.datePicker);

		c = Calendar.getInstance();
		mDateDisplay = (TextView) findViewById(R.id.datetextview);
		datePicker.init(c.get(Calendar.YEAR), c.get(Calendar.MONTH), c
				.get(Calendar.DAY_OF_MONTH),
				new DatePicker.OnDateChangedListener() {
					public void onDateChanged(DatePicker view, int year,
							int monthOfYear, int dayOfMonth) {
						mDateDisplay.setText("[" + year + "-"
								+ (monthOfYear + 1) + "-" + dayOfMonth + "]"
								+ "[" + view.getYear() + "-"
								+ (view.getMonth() + 1) + "-"
								+ view.getDayOfMonth() + "]");

					}

				});

		button = (Button) findViewById(R.id.Button01);
		button.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				mDateDisplay.setText(String.valueOf(datePicker.getYear())
						+ " - " + String.valueOf(datePicker.getMonth() + 1)
						+ " - " + String.valueOf(datePicker.getDayOfMonth()));
			}
		});
	}
}

Calendar.getInstance()会获得一个Calendar实例,这是一个日期实例,通过它的get(Calendar.YEAR)方法可以获得年,get(Calendar.MONTH)方法加1获得月, get(Calendar.DAY_OF_MONTH)方法获得日期。DataPicker控件的核心代码是init方法:
datePicker.init(c.get(Calendar.YEAR),c.get(Calendar.MONTH),c.get(Calendar.DAY_OF_MONTH), new DatePicker.OnDateChangedListener() {…}
在init方法中初始化DataPicker和事件的处理。
DataPicker的布局文件请参考代码清单7-7,完整代码请参考chapter7_1工程中datepicker_layout.xml代码部分(chapter7_1/res/layout/datepicker_layout.xml)。
【代码清单7-7】
<?xml version="1.0" encoding="utf-8"?>
<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:text="@string/hello" />
	<DatePicker android:id="@+id/datePicker"
		android:layout_width="wrap_content" android:layout_height="wrap_content">
	</DatePicker>
	<TextView android:id="@+id/datetextview" android:layout_width="fill_parent"
		android:layout_height="wrap_content" android:text="@string/hello" />

	<Button android:text="按钮" android:id="@+id/Button01"
		android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
</LinearLayout>

                                 出自《Android开发案例驱动教程》第七章
  • 大小: 10.7 KB
分享到:
评论

相关推荐

    李立宗_OPENCV 编程案例详解.zip

    7.1.2 实现分水岭分割.. 269 7.1.3 分水岭分割合并.. 270 7.2 FloodFill 分割. 273 7.3 均值漂移MeanShift 276 7.4 图割Grabcut 279 7.5 实例实例 282 7.5.1 奇异区域检测 282 7.5.2 肤色检测.. 285 7.6 小结. 288 ...

    nessus7.1.2+激活码+详解安装使用文档

    nessus7.1 适合win下64位的目前所有版本 Nessus号称是世界上最流行的漏洞扫描程序,全世界有超过75000个组织在使用它。该工具提供完整的电脑漏洞扫描...此资源包含nessus7.1.2+激活码+详细的傻瓜式安装使用教学文档。

    Android7.1.2,XPosed框架包

    这个压缩包文件包含了针对Android 7.1.2版本的XPosed框架支持。 标题“Android7.1.2,XPosed框架包”明确指出,这个资源是专门为运行Android 7.1.2系统的设备设计的。XPosed框架在Android社区中广泛使用,因为它...

    iphone4ios7.1.2

    iphone4ios7.1.2

    php7.1.2 Win32

    《PHP 7.1.2在Win32环境下的配置与应用详解》 PHP,全称“PHP: Hypertext Preprocessor”,是一种广泛使用的开源脚本语言,尤其在Web开发领域中占据重要地位。PHP 7.1.2是其7.x系列的一个版本,此版本在性能、稳定...

    CAJViewer 7.1.2.self.zip

    CAJViewer7.1.2 自用不卡顿的知网论文阅读器(官网已经没有7.1.2版本了),现在的CAJViewer7.2用起来非常卡,很糟心,还是原来的版本好用,链接在下面,需要的朋友自取。免费评分一下哈~

    Zend Studio 7.1.2 汉化包

    **Zend Studio 7.1.2 汉化包详解** **一、 Zend Studio简介** Zend Studio 是由 Zend Technologies 公司开发的一款专业且功能强大的 PHP 集成开发环境(IDE),它专为 PHP 开发者设计,提供了一整套工具和服务,以...

    php-7.1.2.tar.gz

    **PHP 7.1.2 安装与配置详解** PHP(PHP:Hypertext Preprocessor)是一种广泛使用的开源服务器端脚本语言,尤其适用于Web开发,并可嵌入到HTML中。PHP 7.1.2是PHP的一个版本,发布于2017年,带来了许多性能提升...

    VMWare Workstation 7.1.2有效注册密钥:

    VMWare Workstation 7.1.2是一款由VMware公司发布的虚拟机软件,该版本在前代的基础上进行了多项优化和改进。它支持Windows和Linux两种操作系统环境,并且可以模拟各种不同类型的硬件设备,如网络适配器、硬盘驱动器...

    Dxperience7.1.2破解

    Dxperience 7.1.2破解文件

    pip_7.1.2.zip

    标题中的“pip_7.1.2.zip”表明这是一个关于Python包管理工具pip的特定版本,7.1.2版的压缩文件。pip是Python生态系统中的核心组件,用于安装、管理和升级Python软件包。它使得开发者能够方便地从Python Package ...

    VMware_Workstation_7.1.2

    《VMware Workstation 7.1.2:虚拟化技术的里程碑》 VMware Workstation 7.1.2是一款由VMware公司推出的强大的桌面级虚拟化软件,它在虚拟化技术领域扮演着重要的角色。作为VMware Workstation系列的一个重要版本,...

    xampp-7.1.2老版本

    老版本的xampp7.1.2,对于一些高版本的项目,最新版xampp并不支持,所以收藏了一波老版本的

    HBuilder.7.1.2.windows.zip

    《HBuilder 7.1.2 for Windows:高效前端开发利器》 HBuilder是由DCloud(数字天堂)推出的一款强大的Web前端开发工具,版本号7.1.2是专为Windows操作系统设计的版本。这款软件以其高效、智能、便捷的特点,深受...

    苹果7.1.2微信登不上去全套解决方法

    在苹果设备上遇到微信无法登录的问题,特别是在iOS 7.1.2这样的旧版本系统上,用户可能会遭遇一些兼容性或安全更新导致的障碍。本文将详细介绍一套完整的解决方案,适用于苹果4和4S等设备。 首先,问题的核心在于...

    itext7.1.2 jar包

    itext最新jar包 欢迎使用 jar包比较全,包含barcodes-7.1.2.jar、font-asian-7.1.2.jar、forms-7.1.2.jar、io-7.1.2.jar、kernel-7.1.2.jar、layout-7.1.2.jar、pdfa-7.1.2.jar、sign-7.1.2.jar的核心、基础jar包

    XenServer-7.1.2-install-cd.iso

    Citrix Xenserver 7.1.2 ISO

    7.1.2 shsh

    iphone4 3.2 7.1.2 shsh

    CAJViewer 7.1.2

    CAJViewer 7.1.2CAJViewer 7.1.2CAJViewer CAJViewer 7.1.27.1.2

Global site tag (gtag.js) - Google Analytics