動態輸入日期與時間(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; } }
|