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; }
二、弹出窗口输入日期和时间
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; }