安卓入门:动态输入日期与时间

来源:互联网 发布:全国地区编码 sql 编辑:程序博客网 时间:2024/05/21 14:55

今天对DatePickerTimePicker进行了学习,并且参照了教程自己打了一遍。

DatePicker 与TimePicker 应用

① 新建工程

② 修改main.xml 布局,添加一个DatePicker、一个TimePicker、一个TextView

<?xml version="1.0" encoding="utf-8"?><AbsoluteLayoutandroid:id="@+id/widget0"android:layout_width="fill_parent"android:layout_height="fill_parent"xmlns:android="http://schemas.android.com/apk/res/android" ><DatePickerandroid:id="@+id/my_DatePicker"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_x="10px"android:layout_y="10px"></DatePicker><!-- 日期设置器--><TimePickerandroid:id="@+id/my_TimePicker"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_x="10px"android:layout_y="150px"></TimePicker><!-- 事件设置器--><TextViewandroid:id="@+id/my_TextView"android:layout_width="228px"android:layout_height="29px"android:text="TextView"android:layout_x="10px"android:layout_y="300px"></TextView></AbsoluteLayout>


③ DatePicker 的初始化与日期改变事件的处理

/* 定义程序用到的UI元素对象:日历设置器*/DatePicker my_datePicker;/* findViewById()从XML中获取UI元素对象*/my_datePicker = (DatePicker) findViewById(R.id.my_DatePicker);-----------------------------------Android 编程基础41④ TimePicker 的初始化与时间改变事件的处理⑤ 修改mainActivity.java,添加动态修改时间并显示效果/*为日历设置器添加点击事件监听器,处理设置日期事件*/my_datePicker.init(my_Year, my_Month, my_Day,new DatePicker.OnDateChangedListener(){@Overridepublic void onDateChanged(DatePicker view, int year,int monthOfYear, int dayOfMonth) {// TODO Auto-generated method stub/*日期改变事件处理*/}});


④ TimePicker 的初始化与时间改变事件的处理


/* 定义程序用到的UI元素对象:时间设置器*/TimePicker my_timePicker;/* findViewById()从XML中获取UI元素对象*/my_timePicker = (TimePicker) findViewById(R.id.my_TimePicker);/* 把时间设置成24小时制*/my_timePicker.setIs24HourView(true);/*为时间设置器添加点击事件监听器,处理设置时间事件*/my_timePicker.setOnTimeChangedListener(newTimePicker.OnTimeChangedListener(){@Overridepublic void onTimeChanged(TimePicker view, int hourOfDay,int minute) {// TODO Auto-generated method stub/*时间改变事件处理*/}});


⑤ 修改mainActivity.java,添加动态修改时间并显示效果


/*导入要使用的包*/import java.util.Calendar;import java.util.Locale;import android.app.Activity;import android.os.Bundle;import android.widget.DatePicker;import android.widget.TextView;import android.widget.TimePicker;public class Ex_Ctrl_15ME extends Activity {/** Called when the activity is first created. *//* 定义时间变量:年、月、日、小时、分钟*/int my_Year;int my_Month;-----------------------------------Android 编程基础42int my_Day;int my_Hour;int my_Minute;/* 定义程序用到的UI元素对象:日历设置器、时间设置器、显示时间的TextView */DatePicker my_datePicker;TimePicker my_timePicker;TextView showDate_Time;/* 定义日历对象,初始化时,用来获取当前时间*/Calendar my_Calendar;@Overridepublic 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元素对象*/my_datePicker = (DatePicker) findViewById(R.id.my_DatePicker);my_timePicker = (TimePicker) findViewById(R.id.my_TimePicker);showDate_Time = (TextView) findViewById(R.id.my_TextView);/* 把时间设置成24小时制*/my_timePicker.setIs24HourView(true);/* 显示时间*/loadDate_Time();/*为日历设置器添加点击事件监听器,处理设置日期事件*/my_datePicker.init(my_Year, my_Month, my_Day,new DatePicker.OnDateChangedListener(){@Overridepublic void onDateChanged(DatePicker view, int year,int monthOfYear, int dayOfMonth) {// TODO Auto-generated method stub/*把设置改动后的日期赋值给我的日期对象*/my_Year=year;my_Month=monthOfYear;my_Day=dayOfMonth;/* 动态显示修改后的日期*/loadDate_Time();}});-----------------------------------Android 编程基础43⑥ 结果/*为时间设置器添加点击事件监听器,处理设置时间事件*/my_timePicker.setOnTimeChangedListener(newTimePicker.OnTimeChangedListener(){@Overridepublic void onTimeChanged(TimePicker view, int hourOfDay,int minute) {/*把设置改动后的时间赋值给我的时间对象*/my_Hour=hourOfDay;my_Minute=minute;/* 动态显示修改后的时间*/loadDate_Time();}});} private void loadDate_Time() {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;}}

下面是Demo下载

DataPicker.rar



0 0
原创粉丝点击