当前位置: 代码迷 >> Android >> Android 日期和时间取舍控件的开发
  详细解决方案

Android 日期和时间取舍控件的开发

热度:28   发布时间:2016-05-01 17:11:15.0
Android 日期和时间选择控件的开发

Android 日期和时间选择控件的开发

一个日期和时间选择控件的例子。来自谷歌开发文档,整合了两个小例子。

import java.util.Calendar;import android.app.Activity;import android.app.DatePickerDialog;import android.app.Dialog;import android.app.TimePickerDialog;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.DatePicker;import android.widget.TextView;import android.widget.TimePicker;public class DatePickerActivity extends Activity {	private TextView mDateDisplay;	private Button mPickDate;	private TextView mTimeDisplay;	private Button mPickTime;	private int mYear;	private int mMonth;	private int mDay;	private int mHour;	private int mMinute;	static final int DATE_DIALOG_ID = 0;	static final int TIME_DIALOG_ID = 1;	/** Called when the activity is first created. */	@Override	public void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.main);		// capture our View elements		mDateDisplay = (TextView) findViewById(R.id.dateDisplay);		mPickDate = (Button) findViewById(R.id.pickDate);		mTimeDisplay = (TextView) findViewById(R.id.timeDisplay);		mPickTime = (Button) findViewById(R.id.pickTime);		// add a click listener to the button		mPickDate.setOnClickListener(new View.OnClickListener() {			public void onClick(View v) {				showDialog(DATE_DIALOG_ID);			}		});		mPickTime.setOnClickListener(new View.OnClickListener() {			public void onClick(View v) {				showDialog(TIME_DIALOG_ID);			}		});		// get the current date		final Calendar c = Calendar.getInstance();		mYear = c.get(Calendar.YEAR);		mMonth = c.get(Calendar.MONTH);		mDay = c.get(Calendar.DAY_OF_MONTH);		// get the current time		final Calendar cc = Calendar.getInstance();		mHour = cc.get(Calendar.HOUR_OF_DAY);		mMinute = cc.get(Calendar.MINUTE);		// display the current date (this method is below)		updateDisplay();	}	// updates the date in the TextView	private void updateDisplay() {		mDateDisplay.setText(new StringBuilder()				// Month is 0 based so add 1				.append(mMonth + 1).append("-").append(mDay).append("-")				.append(mYear).append(" "));		mTimeDisplay.setText(new StringBuilder().append(pad(mHour)).append(":")				.append(pad(mMinute)));	}	private static String pad(int c) {		if (c >= 10)			return String.valueOf(c);		else			return "0" + String.valueOf(c);	}	// the callback received when the user "sets" the date in the dialog	private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {		public void onDateSet(DatePicker view, int year, int monthOfYear,				int dayOfMonth) {			mYear = year;			mMonth = monthOfYear;			mDay = dayOfMonth;			updateDisplay();		}	};	// the callback received when the user "sets" the time in the dialog	private TimePickerDialog.OnTimeSetListener mTimeSetListener = new TimePickerDialog.OnTimeSetListener() {		public void onTimeSet(TimePicker view, int hourOfDay, int minute) {			mHour = hourOfDay;			mMinute = minute;			updateDisplay();		}	};	@Override	protected Dialog onCreateDialog(int id) {		switch (id) {		case DATE_DIALOG_ID:			return new DatePickerDialog(this, mDateSetListener, mYear, mMonth,					mDay);		case TIME_DIALOG_ID:			return new TimePickerDialog(this, mTimeSetListener, mHour, mMinute,					false);		}		return null;	}}
?
  相关解决方案