android学习笔记19——对话框(DatePickerDialog、TimePickerDialog)
DatePickerDialog、TimePickerDialog
==>
DatePickerDialog、TimePickerDialog功能、用法都比较简单,操作步骤:
1.通过new关键字创建DatePickerDialog、TimePickerDialog实例,调用它的show()方法即可将日期选择对话框、时间选择对话框显示出来;
2.通过为DatePickerDialog、TimePickerDialog绑定监听器,来获取用户设置的事件...
实例:
布局文件==》
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" > <EditText
android:id="@+id/edtContent"
android:layout_width="match_parent"
android:layout_height="wrap_content" /> <Button
android:id="@+id/btnDatePickerDialog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="DatepickerDialog" /> <Button
android:id="@+id/btnTimePickerDialog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="TimePickerDialog" /> </LinearLayout> 代码实现==》
package com.example.mydatepickerdialog; import java.util.Calendar; import android.os.Bundle;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TimePicker; public class MainActivity extends Activity
{
EditText EditContent; @Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); Button datepicker = (Button) this.findViewById(R.id.btnDatePickerDialog);
Button timepicker = (Button) this.findViewById(R.id.btnTimePickerDialog);
EditContent = (EditText) findViewById(R.id.edtContent); datepicker.setOnClickListener(new ButtonOnClickLinstener());
timepicker.setOnClickListener(new ButtonOnClickLinstener());
} private class ButtonOnClickLinstener implements OnClickListener
{
@Override
public void onClick(View v)
{
switch (v.getId())
{
case R.id.btnDatePickerDialog:
Calendar calendar = Calendar.getInstance();
// 创建DatePickerDialog对话框并显示
new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener()
{
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth)
{
StringBuffer str = new StringBuffer();
str.append("你选择了:");
str.append(year);
str.append("年");
str.append(monthOfYear);
str.append("月");
str.append(dayOfMonth);
str.append("日"); EditContent.setText(str);
}
}, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH)).show();
break; case R.id.btnTimePickerDialog:
Calendar c = Calendar.getInstance();
new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener()
{
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute)
{
StringBuffer str = new StringBuffer();
str.append("你选择了:");
str.append(hourOfDay);
str.append("时");
str.append(minute);
str.append("分"); EditContent.setText(str);
}
}, c.get(Calendar.HOUR_OF_DAY), c.get(Calendar.MINUTE), true).show();// true标识采用24小时制
break;
}
}
} @Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
运行效果:

注意:日期选择对话框、时间选择对话框只是供用户来选择日期、时间的,对于android系统的日期、时间没有影响。
android暂时还没有公开设置系统日期、时间的API,如果需要在程序中设置android系统日期、时间,目前的方式都需要重新编译android系统源代码,比较烦琐...
在使用日期选择对话框、时间选择对话框时,注意调用其show()方法,否则将不能正常显示;
android学习笔记19——对话框(DatePickerDialog、TimePickerDialog)的更多相关文章
- android学习笔记16——对话框
android支持丰富的对话框,常用4中对话框: 1.AlertDialog: 2.ProgressDialog:进度对话框,这个对话框只是对进度条的封装 3.DatePickerDialog:日期选 ...
- android学习笔记17——对话框(PopupWindow)
PopupWindow ==> PopupWindow可创建类似对话框的窗口,使用其创建对话框窗口的操作步骤: 1.调用PopupWindow构造器构造PopupWindow对象: 2.调用Po ...
- Android学习笔记之JSON数据解析
转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种 ...
- 【转】 Pro Android学习笔记(五七):Preferences(1):ListPreference
目录(?)[-] 例子1ListPreference小例子 定义一个preferences XML文件 继承PreferenceActivity 用户定制偏好的读取 第一次运行时设置缺省值 设置Cat ...
- 【转】 Pro Android学习笔记(五六):配置变化
目录(?)[-] Activity的destorycreate过程 Fragment的destorycreate过程 onSaveInstanceState saveFragmentInstanceS ...
- Android 学习笔记之Volley(七)实现Json数据加载和解析...
学习内容: 1.使用Volley实现异步加载Json数据... Volley的第二大请求就是通过发送请求异步实现Json数据信息的加载,加载Json数据有两种方式,一种是通过获取Json对象,然后 ...
- Android学习笔记进阶之在图片上涂鸦(能清屏)
Android学习笔记进阶之在图片上涂鸦(能清屏) 2013-11-19 10:52 117人阅读 评论(0) 收藏 举报 HandWritingActivity.java package xiaos ...
- android学习笔记36——使用原始XML文件
XML文件 android中使用XML文件,需要开发者手动创建res/xml文件夹. 实例如下: book.xml==> <?xml version="1.0" enc ...
- Ext.Net学习笔记19:Ext.Net FormPanel 简单用法
Ext.Net学习笔记19:Ext.Net FormPanel 简单用法 FormPanel是一个常用的控件,Ext.Net中的FormPanel控件同样具有非常丰富的功能,在接下来的笔记中我们将一起 ...
随机推荐
- 如何重启Activity
有的时候,我们只是想重启某个Activity,但是不重启整个App. 一种做法是: Intent intent = getIntent(); overridePendingTransition(0, ...
- 如何区分JS中的this?!
->我们一般只研究函数执行的时候里面的this->this是谁和当前的函数在哪执行和在哪定义没有半毛钱的关系 1)看函数执行的时候,函数名之前是否有".",有的话&qu ...
- Java获得文件的创建时间(精确到秒)
jni C/C++ 头文件:MyFileTime.h C/C++ code /* DO NOT EDIT THIS FILE - it is machine generated */#include ...
- Codeforces Testing Round #8 B. Sheldon and Ice Pieces 水题
题目链接:http://codeforces.com/problemset/problem/328/B 水题~ #include <cstdio> #include <cstdlib ...
- HDU 4705 Y 树形枚举
树形枚举--搜索 题目描述: 给你一棵树,要在一条简单路径上选3个不同的点构成一个集合,问能构成多少个不同的集合. 解法: 枚举所有结点,假设某个结点有n棵子树,每棵子树的结点个数分别为s1,s2,` ...
- RViz 实时观测机器人建立导航2D封闭空间地图过程 (SLAM) ----27
原创博客:转载请表明出处:http://www.cnblogs.com/zxouxuewei/ ROS提供了非常强大的图形化模拟环境 RViz,这个 RViz 能做的事情非常多.今天我们学习一下如何使 ...
- html部分---格式与布局;
一:position:fixed(相对于浏览器窗口来对元素进行定位) <style type="text/css"> .aa { position:fixed; lef ...
- 2016 Sichuan Province Programming Contest
2016 Sichuan Province Programming Contest 代码 2016 Sichuan Province Programming Contest A. Nearest Ne ...
- 最短路--floyd算法模板
floyd算法是求所有点之间的最短路的,复杂度O(n3)代码简单是最大特色 #include<stdio.h> #include<string.h> ; const int I ...
- ThinkPHP缓存微信公众号access_token
access_token作为微信的全局票据,在高级接口中需要频繁调用,其有效期为7200秒,即2小时,而微信官方对调用Token的次数有限制(参见接口频率限制说明),获取access_token每日限 ...