动态输入日期与时间(DatePicker与TimePicker应用)
新建一个继承Activity类的DatePickerAndTimePickerActivity,并设置布局文件为:datepickerandtimepicker.xml。
首先在布局文件中添加一个TextView和DatePicker和TimePicker。
TextView android:id="@+id/datepickerandtimepicker_tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/show_information" android:textSize="20sp" />
<DatePicker android:id="@+id/datapickerandtimepicker_dp01" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<TimePicker android:id="@+id/datapickerandtimepicker_tp01" android:layout_width="wrap_content" android:layout_height="wrap_content" /> |
而后在Activity中获取这3个组件并设置DatePicker和TimePicker的监听操作。
package lyx.feng.second;
import lyx.feng.simpletextdemo.R; import android.app.Activity; import android.os.Bundle; import android.widget.DatePicker; import android.widget.DatePicker.OnDateChangedListener; import android.widget.TextView; import android.widget.TimePicker; import android.widget.TimePicker.OnTimeChangedListener;
public class DatePickerAndTimePickerActivity extends Activity { private TextView tv = null; private DatePicker dp = null; private TimePicker tp = null;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.datepickerandtimepicker); this.tv = (TextView) super .findViewById(R.id.datepickerandtimepicker_tv); this.dp = (DatePicker) super .findViewById(R.id.datepickerandtimepicker_dp01); this.tp = (TimePicker) super .findViewById(R.id.datepickerandtimepicker_tp01); this.dp.init(2016, 6, 4, new OnDateChangedListener() {
@Override public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { tv.setText(format(String.valueOf(year) + "/" + format(String.valueOf(monthOfYear)) + "/" + format(String.valueOf(dayOfMonth)))); } }); this.tp.setOnTimeChangedListener(new OnTimeChangedListener() {
@Override public void onTimeChanged(TimePicker view, int hourOfDay, int minute) { tv.setText(format(String.valueOf(hourOfDay) + ":" + format(String.valueOf(minute)))); } }); }
public String format(String x) { if (x.length() == 1) { x = "0" + x; } return x; } }
|