[英]How to set up the TimePickerDialog that pop up on button click?
我一直在嘗試建立一個時間選擇器對話框,用戶可以在其中選擇時間,然后保存時間並將其作為字符串傳遞給下一個活動。
我遵循一些教程並成功設置了DatePickerDialog,但是我仍然無法讓Time Picker對話框正常工作。
這是我的嘗試:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_blood_glucose_record);
mItemSelectedMessageTemplate =
getString(R.string.spinner_message_template);
Spinner spinner = (Spinner) findViewById(R.id.measured_time);
spinner.setOnItemSelectedListener(new SpinnerInfo());
dateFormatter = new SimpleDateFormat("yyyy-MM-dd", Locale.TRADITIONAL_CHINESE);
findViewsById();
setDateTimeField();
timeFormatter = new SimpleDateFormat("hh:mm",Locale.TRADITIONAL_CHINESE);
findViewsById();
setTimeField();
editPatientID = (EditText) findViewById(R.id.editPatientID);
edit_sugar_con = (EditText) findViewById(R.id.edit_sugar_con);
}
private void setDateTimeField() {
btnSelectDate.setOnClickListener(this);
//editTime.setOnClickListener(this);
Calendar newCalendar = Calendar.getInstance();
DatePickerDialog = new DatePickerDialog(this, new android.app.DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
Calendar newDate = Calendar.getInstance();
newDate.set(year, monthOfYear, dayOfMonth);
btnSelectDate.setText(dateFormatter.format(newDate.getTime()));
}
}, newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH));
}
private void setTimeField(){
btnSelectTime.setOnClickListener(this);
Calendar newCalendar = Calendar.getInstance();
TimePickerDialog = new TimePickerDialog(this, new android.app.TimePickerDialog.OnTimeSetListener(){
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
Calendar newTime = Calendar.getInstance();
newTime.set(hourOfDay, minute);
btnSelectDate.setText(timeFormatter.format(newTime.getTime()));
}
}, newCalendar.get(Calendar.HOUR_OF_DAY), newCalendar.get(Calendar.MINUTE));
}
我嘗試了一些修改代碼,但是仍然有些冒犯性的想法說{/(/;丟失了。
錯誤:
newTime.set(hourOfDay, minute);
對:
Calendar newTime = Calendar.getInstance();
newTime.set(Calendar.HOUR_OF_DAY, hourOfDay);
newTime.set(Calendar.MINUTE, minute);
newTime.set(Calendar.SECOND, 0);
newTime.set(Calendar.MILLISECOND, 0);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.