Android DatePicker 和TimePicker

本文介绍如何使用Android平台上的DatePicker和TimePicker控件,通过添加监听器来获取用户选择的日期和时间,并展示如何在界面上显示这些信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DatePicker 和 TimePicker  时两个比较易用的控件,从FrameLayout派生而来,DatePicker 工用户选择日期,TimerPicker

供用户选择日期。


程序需要获取用户选择的日期,和时间,可通过DatePicker添加OnDateChangeListener进行监听,为TimePicker添加OnTimerChangedListener监听


xml:

<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="选择购买本书的时间" />
   <!-- 定义一个DatePicker组件 -->
   <DatePicker 
       android:id="@+id/datepicker"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_gravity="center_horizontal"/>
   <TimePicker
       android:id = "@+id/timepicker" 
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_gravity="center_horizontal"/>
   <EditText 
       android:id = "@+id/show"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:editable = "false"
       android:cursorVisible="false"/>
</LinearLayout>
java

package com.example.choosedate;

import java.util.Calendar;

import android.os.Bundle;
import android.provider.CallLog.Calls;
import android.app.Activity;
import android.graphics.Canvas;
import android.view.Menu;
import android.widget.DatePicker;
import android.widget.DatePicker.OnDateChangedListener;
import android.widget.EditText;
import android.widget.TimePicker;
import android.widget.TimePicker.OnTimeChangedListener;

public class MainActivity extends Activity {


	private int year;
	private int month;
	private int day;
	private int hour;
	private int minute;
	
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		DatePicker datepicker = (DatePicker)findViewById(R.id.datepicker);
		TimePicker timepicker = (TimePicker)findViewById(R.id.timepicker);
		Calendar c = Calendar.getInstance();
		year = c.get(Calendar.YEAR);
		month = c.get(Calendar.MONTH);
		day = c.get(Calendar.DAY_OF_MONTH);
		hour = c.get(Calendar.HOUR);
		minute = c.get(Calendar.MINUTE);
		datepicker.init(year,month,day,new OnDateChangedListener() {
			
			@Override
			public void onDateChanged(DatePicker arg0, int arg1, int arg2, int arg3) {
				// TODO Auto-generated method stub
				MainActivity.this.year = arg1;
				MainActivity.this.month = arg2;
				MainActivity.this.day = arg3;
				showData(year,month,day,hour,minute);
				
			}
		});
		timepicker.setOnTimeChangedListener(new OnTimeChangedListener() {
			
			@Override
			public void onTimeChanged(TimePicker arg0, int arg1, int arg2) {
				// TODO Auto-generated method stub
				MainActivity.this.hour = arg1;
				MainActivity.this.minute = arg2;
				showData(year,month,day,hour,minute);
				
			}
		});
		
		
	}

	@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;
	}
	
	private void showData(int year,int month,int day,int hour,int minute)
	{
		EditText show = (EditText)findViewById(R.id.show);
		show.setText("你购买的日期为:"+ year+"年" + month +"月"+ day + "日" + hour+"时"+minute +"分");
	}

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值