DatePicker与TimePicker动态输入时间跟日期

DatePicker与TimePicker动态输入时间和日期

一、DatePicker与TimePicker动态输入时间和日期

private int mYear;
	private int mMonth;
	private int mDay;
	private int mHour;
	private int mMinute;
	
	TextView tv;
	TimePicker tp;
	DatePicker dp;

	public void onCreate(Bundle savedInstanceState) {
		
		Calendar c = Calendar.getInstance();
		mYear = c.get(Calendar.YEAR);
		mMonth = c.get(Calendar.MONTH);
		mDay = c.get(Calendar.DAY_OF_MONTH);
		mHour = c.get(Calendar.HOUR_OF_DAY);
		mMinute = c.get(Calendar.MINUTE);
		
		super.onCreate(savedInstanceState);
		setContentView(R.layout.picker);
		
		tv = (TextView) findViewById(R.id.showTime);
		updateDisplay();
		
		dp = (DatePicker) findViewById(R.id.dPicker);
		dp.init(mYear, mMonth, mDay, new DatePicker.OnDateChangedListener() {
			public void onDateChanged(DatePicker view, int year,
					int monthOfYear, int dayOfMonth) {
				mYear = year;
				mMonth = monthOfYear;
				mDay = dayOfMonth; /* 调用updateDisplay()来改变显示日期 */
				updateDisplay();
			}
		});
		
		tp = (TimePicker) findViewById(R.id.tPicker);
		tp.setIs24HourView(true);
		tp.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
			public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
				mHour = hourOfDay;
				mMinute = minute; /* 调用updateDisplay()来改变显示时间 */
				updateDisplay();
			}
		});
	}

	private void updateDisplay() {
		tv.setText(new StringBuilder().append(mYear).append("/")
				.append(format(mMonth + 1)).append("/").append(format(mDay))
				.append(" ").append(format(mHour)).append(":")
				.append(format(mMinute)));
	}

	private String format(int x) {
		String s = "" + x;
		if (s.length() == 1)
			s = "0" + s;
		return s;
	}
 


DatePicker与TimePicker动态输入时间跟日期

二、弹出窗口输入日期和时间

private int mYear;
	private int mMonth;
	private int mDay;
	private int mHour;
	private int mMinute;

	private TextView tv;
	private Button button1;
	private Button button2;

	public void onCreate(Bundle savedInstanceState) {

		Calendar c = Calendar.getInstance();
		mYear = c.get(Calendar.YEAR);
		mMonth = c.get(Calendar.MONTH);
		mDay = c.get(Calendar.DAY_OF_MONTH);
		mHour = c.get(Calendar.HOUR_OF_DAY);
		mMinute = c.get(Calendar.MINUTE);

		super.onCreate(savedInstanceState);
		setContentView(R.layout.picker2);

		tv = (TextView) findViewById(R.id.textView1);
		button1 = (Button) findViewById(R.id.button1);
		button2 = (Button) findViewById(R.id.button2);
		updateDisplay();

		button1.setOnClickListener(new OnClickListener() {

			public void onClick(View v) {
				new DatePickerDialog(Picker2.this,
						new DatePickerDialog.OnDateSetListener() {

							public void onDateSet(DatePicker view, int year,
									int monthOfYear, int dayOfMonth) {
								mYear = year;
								mMonth = monthOfYear;
								mDay = dayOfMonth;
								updateDisplay();
							}
						}, mYear, mMonth, mDay).show();
			}

		});

		button2.setOnClickListener(new OnClickListener() {

			public void onClick(View v) {
				new TimePickerDialog(Picker2.this,
						new TimePickerDialog.OnTimeSetListener() {
							public void onTimeSet(TimePicker view,
									int hourOfDay, int minute) {
								mHour = hourOfDay;
								mMinute = minute;
								updateDisplay();
							}
						}, mHour, mMinute, true).show();
			}

		});
	}

	private void updateDisplay() {
		tv.setText(new StringBuilder().append(mYear).append("/")
				.append(format(mMonth + 1)).append("/").append(format(mDay))
				.append(" ").append(format(mHour)).append(":")
				.append(format(mMinute)));
	}

	private String format(int x) {
		String s = "" + x;
		if (s.length() == 1)
			s = "0" + s;
		return s;
	}
 


DatePicker与TimePicker动态输入时间跟日期
 
DatePicker与TimePicker动态输入时间跟日期