您的位置:首页 > 移动开发 > Android开发

Android练习-----日期选择器(DatePicker) && 时间选择器(TimePicker)

2016-10-20 23:35 741 查看
为了让用户选择设置日期和时间,Android提供了日期/时间选择器,分别是 DatePicker 和 TimePicker 控件。

日期选择器(DatePicker)

在使用 DatePicker 控件显示日期时,通常是使用 < DatePicker >标记在XML布局文件中配置,基本语法如下

<DatePicker
android:id="@+id/datePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>


时间选择器(TimePicker)

在使用 TimePicker 控件显示时间时, 通常是使用 < TimePicker > 标记在XML布局文件中配置,基本语法如下

<TimePicker
android:id="@+id/timePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>


在Eclipse中新建一个Android项目,名称为TestPicker,在屏幕中添加日期和时间选择器,在改变日期和时间的同时,能够改变得到改变后的日期和时间

(1)activity_main.xml布局文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>

<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>

<DatePicker android:id="@+id/datePicker" android:layout_width="wrap_content" android:layout_height="wrap_content"/>

<TimePicker android:id="@+id/timePicker" android:layout_width="wrap_content" android:layout_height="wrap_content"/>

</LinearLayout>


(2)在MainActivity.java 文件中,为 DatePicker 和 TimePicker 控件添加事件监听器,来获取到用户选择的日期和时间,代码如下

“`

import java.util.Calendar;

import android.os.Bundle;

import android.view.View;

import android.widget.DatePicker;

import android.widget.DatePicker.OnDateChangedListener;

import android.widget.TextView;

import android.widget.TimePicker;

import android.widget.TimePicker.OnTimeChangedListener;

import android.app.Activity;

public class MainActivity extends Activity {

private int year = -1;
private int month = -1;
private int day = -1;
private int hour = -1;
private int minute = -1;
private TextView text = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//
a1ce
找到关心的控件
DatePicker date = (DatePicker) findViewById(R.id.datePicker);
//获取日期选择器控件
TimePicker time = (TimePicker) findViewById(R.id.timePicker);
//获取时间选择器控件
text = (TextView) findViewById(R.id.text);

time.setIs24HourView(true);     //设置时间为24小时制
Calendar calendar = Calendar.getInstance(); //创建日历对象

year = calendar.get(Calendar.YEAR);         //获取当前年份
month = calendar.get(Calendar.MONTH);       //获取当前月份
day = calendar.get(Calendar.DAY_OF_MONTH);  //获取当前日期
hour = calendar.get(Calendar.HOUR_OF_DAY);  //获取当前小时
minute = calendar.get(Calendar.MINUTE);     //获取当前分钟

date.init(year, month, day, new dateOnDateChangedListener());
//为日期选择器添加监听器
time.setOnTimeChangedListener(new timeOnTimeChangedListener());
//为时间选择器添加监听器

text.setText("现在时间是:" + year + "年" + (month+1) + "月" + day + "日" + hour + "时" + minute + "分");

}

class timeOnTimeChangedListener implements OnTimeChangedListener{

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

MainActivity.this.hour = hourOfDay;     //改变hour的值
MainActivity.this.minute = minute;      //改变minute的值
show(year, month, day, hour, minute);   //在文本框中显示日期和时间

}

}

class dateOnDateChangedListener implements OnDateChangedListener{

public void onDateChanged(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {

MainActivity.this.year = year;          //改变year的值
MainActivity.this.month = monthOfYear;  //改变month的值
MainActivity.this.day = dayOfMonth;     //改变day的值
show(year, month, day, hour, minute);   //在文本框中显示日期和时间

}

}

private void show(int year, int month, int day, int hour, int minute)
{
text.setText("您选择的时间为:" + year + "年" + (month+1) + "月" + day + "日" + hour + "时" + minute + "分");
//由于通过DatePicker对象获取到的月份是0~11月,所以需要将获取到的月份加1, 才能代表真正的月份
}


}

运行该项目的效果图

选择前:



选择后:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐