0

Я пытаюсь настроить диалог выбора времени, в котором пользователь может выбрать время, а затем сохранить и передать время как строку для следующего действия.Как настроить TimePickerDialog, который появляется при нажатии кнопки?

Я следую некоторому учебнику и успешно настроил DatePickerDialog, но я застрял на том, чтобы работать с Диалогом выбора времени.

Это моя попытка:.

@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)); 

    } 

Я пытался модифицированном мой код немного, но маленький красный ум все еще приходит поговорка {/ (/, отсутствует

Attached a cap screen photo of the error

+0

Не могли бы вы отправить сообщения об ошибках с консоли? –

+0

Опубликовать свой logcat – Abhishek

+0

Я попытался немного изменить свой код, но немного красный ум все еще появляется, говоря, что {/ (/; отсутствует. –

ответ

0

неправильно:

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);