Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 669|回复: 0

Android 基础编程之十五(DatePickerDialog 与 TimePickerDialog 应用)-

[复制链接]

该用户从未签到

发表于 2011-10-24 14:51:15 | 显示全部楼层 |阅读模式
DatePickerDialog 与TimePickerDialog 应用


①新建工程
②修改 main.xml 布局,添加两个按钮、一个 TextView
<?xml version="1.0" encoding="utf-8"?>

<AbsoluteLayout

android:id="@+id/widget0"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

xmlns:android="http://schemas.android.com/apk/res/android">

<Button

android:id="@+id/show_DatePicker"

android:layout_width="150px"

android:layout_height="wrap_content"

android:layout_x="10px"

android:layout_y="10px" android:text="显示日期设置对话框"/>

<Button

android:id="@+id/show_TimePicker"

android:layout_width="150px"

android:layout_height="wrap_content"

android:layout_x="10px"

android:layout_y="70px" android:text="显示时间设置对话框"/>

<TextView

android:id="@+id/my_TextView"

android:layout_width="228px"

android:text="TextView"

android:layout_x="10px"

android:layout_y="180px"

android:layout_height="45px"

android:textSize="20px"/>

</AbsoluteLayout>
复制代码
③DatePickerDialog 的定义与初始化以及显示
/* 定义 程序用到的UI元素对象:日历设置器对话框 */

DatePickerDialog my_datePickerDialog;

/*构造一个DatePickerDialog对象,第一个参数为Context、

* 第二参数为日期修改事件处理监听器、后面为初始化的年月日*/

my_datePickerDialog=new DatePickerDialog(Ex_Ctrl_15_B.this,

myDateSetListener, my_Year, my_Month, my_Day);

/*显示出日期设置对话框*/

my_datePickerDialog.show();
复制代码
④DatePickerDialog 的日期修改事件处理
/*日期改变设置事件监听器*/

private OnDateSetListener myDateSetListener=new OnDateSetListener(){

@Override

public void onDateSet(DatePicker view, int year, int monthOfYear,

int dayOfMonth) {



//



TODO Auto-generated method stub



/*日期改变设置事件处理*/

}

};
复制代码
⑤TimePickerDialog 的定义与初始化以及显示
/* 定义 程序用到的UI元素对象:时间设置器对话框*/

TimePickerDialog my_timePickerDialog;

/*构造一个TimePickerDialog对象,第一个参数为Context、

*第二个参数为时间修改事件监听器、后面两个为初始化时间,

*最后一个boolean类型设置是否为24小时制*/

my_timePickerDialog=new TimePickerDialog(Ex_Ctrl_15_B.this,

myTimeSetListener, my_Hour, my_Minute, false);

/*显示出日期设置对话框*/

my_timePickerDialog.show();
复制代码
⑥TimePickerDialog 的时间修改事件处理
/*时间改变设置事件监听器*/

private OnTimeSetListener myTimeSetListener=new OnTimeSetListener(){

@Override

public void onTimeSet(TimePicker view, int hourOfDay, int minute) {

// TODO Auto-generated method stub

/*时间改变设置事件处理*/

}

};
复制代码
⑦修改 mainActivity.java,实现动态显示修改的日期、时间
package zyf.Ex_Ctrl_15_B;

/*导入使用的包*/

import java.util.Calendar;

import java.util.Locale;

import android.app.Activity;

import android.app.DatePickerDialog;

import android.app.TimePickerDialog;

import android.app.DatePickerDialog.OnDateSetListener;

import android.app.TimePickerDialog.OnTimeSetListener;

import android.os.Bundle;

import android.view.View;



import

import

import

import





android.widget.Button;

android.widget.DatePicker;

android.widget.TextView;

android.widget.TimePicker;







public class Ex_Ctrl_15_B extends Activity implements Button.OnClickListener{

/** Called when the activity is first created. */

/* 定义时间变量:年、月、日、小时、分钟 */

int my_Year;

int my_Month;

int my_Day;

int my_Hour;

int my_Minute;

/* 定义 程序用到的UI元素对象:日历设置器对话框、时间设置器对话框、

显示时间的TextView、按钮 */

DatePickerDialog my_datePickerDialog;

TimePickerDialog my_timePickerDialog;

TextView showDate_Time;

Button showDatePDialog;

Button showTimePDialog;

/* 定义日历对象,初始化时,用来获取当前时间 */

Calendar my_Calendar;

/*日期改变设置事件监听器*/

private OnDateSetListener myDateSetListener=new OnDateSetListener(){

@Override

public void onDateSet(DatePicker view, int year,



int monthOfYear,



int dayOfMonth) {



// TODO Auto-generated method stub

/*把设置修改后的日期赋值给我的年、月、日变量*/

my_Year=year;

my_Month=monthOfYear;

my_Day=dayOfMonth;

/*显示设置后的日期*/

loadDate_Time();

}

};

/*时间改变设置事件监听器*/

private OnTimeSetListener myTimeSetListener=new OnTimeSetListener(){

@Override

public void onTimeSet(TimePicker view, int hourOfDay, int minute) {

// TODO Auto-generated method stub

/*把设置修改后的时间赋值给我的时、分变量*/

my_Hour=hourOfDay;

my_Minute=minute;



/*显示设置后的时间*/

loadDate_Time();

}

};

@Override

public void onCreate(Bundle savedInstanceState) {

/* 从Calendar抽象基类获得实例对象,并设置成中国时区 */

my_Calendar = Calendar.getInstance(Locale.CHINA);

/* 从日历对象中获取当前的:年、月、日、时、分 */

my_Year = my_Calendar.get(Calendar.YEAR);

my_Month = my_Calendar.get(Calendar.MONTH);

my_Day = my_Calendar.get(Calendar.DAY_OF_MONTH);

my_Hour = my_Calendar.get(Calendar.HOUR_OF_DAY);

my_Minute = my_Calendar.get(Calendar.MINUTE);

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

/* findViewById()从XML中获取UI元素对象 */

showDate_Time = (TextView) findViewById(R.id.my_TextView);

showDatePDialog=(Button)findViewById(R.id.show_DatePicker);

showTimePDialog=(Button)findViewById(R.id.show_TimePicker);

/*显示当前时间*/

loadDate_Time();

/*为按钮添加点击事件监听器*/

showDatePDialog.setOnClickListener(this);

showTimePDialog.setOnClickListener(this);

}

/* 设置显示日期时间的方法 */

private void loadDate_Time() {

// TODO Auto-generated method stub

showDate_Time.setText(new StringBuffer()

.append(my_Year).append("/")

.append(FormatString(my_Month + 1))

.append("/").append(FormatString(my_Day))

.append(" ").append(FormatString(my_Hour))

.append(" : ").append(FormatString(my_Minute)));

}

/* 日期时间显示两位数的方法 */

private String FormatString(int x) {

String s = Integer.toString(x);

if (s.length() == 1) {

s = "0" + s;

}

return s;

}



@Override

public void onClick(View v) {

// TODO Auto-generated method stub

switch (v.getId()) {

case R.id.show_DatePicker:

/*显示日期设置对话框的按钮点击事件处理*/{

/*构造一个DatePickerDialog对象,第一个参数为Context、

第二参数为日期修改事件处理监听器、后面为初始化的年月日*/

my_datePickerDialog=new DatePickerDialog(Ex_Ctrl_15_B.this,

myDateSetListener, my_Year, my_Month, my_Day);

/*显示出日期设置对话框*/

my_datePickerDialog.show();

}

break;

case R.id.show_TimePicker:

/*显示时间设置对话框的按钮点击事件处理*/{

/*构造一个TimePickerDialog对象,第一个参数为Context、第二个参数为时间修改

事件监听器、后面两个为初始化时间,最后一个boolean类型设置是否为24小时制*/

my_timePickerDialog=new TimePickerDialog(Ex_Ctrl_15_B.this,

myTimeSetListener, my_Hour, my_Minute, false);

/*显示出日期设置对话框*/

my_timePickerDialog.show();

}

break;

default:

break;

}

}

}
复制代码

结果:
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-11 11:36 , Processed in 0.354945 second(s), 46 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表