2015-07-13 3 views
3

TimePicker показывает текущее время по умолчанию в TimePicker, но что делать, если я хочу установить время по умолчанию в таймере в соответствии с моим требованием.Как установить пользовательское время в TimePicker

Как и его 11:10, когда я пишу это, но в TimePicker я хотел бы показать, как 01:00 по умолчанию (моя средняя разница 2 часа и минуты должен быть 00 только)

static final int TIME_DIALOG_ID = 1; 

    public int year,month,day,hour,minute; 
    private int mYear, mMonth, mDay,mHour,mMinute; 

    public TimePickerActivity() { 

      // Assign current Date and Time Values to Variables 
      final 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); 
    } 

    private TimePickerDialog.OnTimeSetListener mTimeSetListener = 
     new TimePickerDialog.OnTimeSetListener() { 

     public void onTimeSet(TimePicker view, int hourOfDay, int min) { 
      hour = hourOfDay; 
      minute = min; 

      String formattedMinutes = "" + min; 
      String formattedHour = "" + hourOfDay; 

      if (hourOfDay < 10) { 
       formattedHour = "0" + hourOfDay; 
      } 

      if (min < 10) { 
       formattedMinutes = "0" + min; 
      } 

      textTime.setText(formattedHour + ":" + formattedMinutes); 
     } 
    }; 

    @Override 
    protected Dialog onCreateDialog(int id) { 
    switch (id) { 

    case TIME_DIALOG_ID: 
     TimePickerDialog timePickerDialog = new TimePickerDialog(this, mTimeSetListener, mHour, mMinute, false); 
     return timePickerDialog; 
    } 

    return null; 
} 
+0

благодаря @SilentKiller для редактирования – Oreo

ответ

1

Вы можете сделать это с помощью следующего кода:

private TimePicker timePicker; 

    timePicker = (TimePicker) dialog.findViewById(R.id.timePickerDialog); 

    if(DateFormat.is24HourFormat(getActivity()){ 
     timePicker.setIs24HourView(true); 
    }else { 
     timePicker.setIs24HourView(false); 
    } 
    // here you can define your hour and minute value. 
    timePicker.setCurrentHour(hour); 
    timePicker.setCurrentMinute(minute); 
+0

вот главный вопрос: как я мог установить час, как через 2 часа с текущего часового часа – Oreo

+1

Календарь cal = Calendar.getInstance(); cal.add (Calendar.HOUR, 2); cal.get (Calendar.HOUR) = возвращает час cal.get (Calendar.MINUTE) = возвращает минуты –

+0

Большое вам спасибо – Oreo

0

Вы можете попробовать ниже код

 SimpleDateFormat sdf = new SimpleDateFormat("hh:ss"); 
    Date date = null; 
    try { 
     date = sdf.parse("07:00"); 
    } catch (ParseException e) { 
    } 
    Calendar c = Calendar.getInstance(); 
    c.setTime(date); 

    TimePicker picker = new TimePicker(getApplicationContext()); 
    picker.setCurrentHour(c.get(Calendar.HOUR_OF_DAY)); 
    picker.setCurrentMinute(c.get(Calendar.MINUTE));