2015-01-10 5 views
1

Я работаю над приложением Android, в котором я хочу выбрать дату и время. Я использую следующие методы, в которых я получаю время на диалог. Но я хочу сделать что-то подобное, когда я нажимаю на диалог времени, он также покажет мне дату. Пожалуйста, помогите мне здесь:Выбор времени и даты андроид

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


      @Override 
      public void onTimeSet(TimePicker view, int hourOfDay, int minutes) { 
       // TODO Auto-generated method stub 
       hour = hourOfDay; 
       minute = minutes; 

       updateTime(hour,minute); 

      } 

     }; 

     private static String utilTime(int value) { 

      if (value < 10) 
       return "0" + String.valueOf(value); 
      else 
       return String.valueOf(value); 
     } 
    // Used to convert 24hr format to 12hr format with AM/PM values 
    private void updateTime(int hours, int mins) { 

     String timeSet = ""; 
     if (hours > 12) { 
      hours -= 12; 
      timeSet = "PM"; 
     } else if (hours == 0) { 
      hours += 12; 
      timeSet = "AM"; 
     } else if (hours == 12) 
      timeSet = "PM"; 
     else 
      timeSet = "AM"; 


     String minutes = ""; 
     if (mins < 10) 
      minutes = "0" + mins; 
     else 
      minutes = String.valueOf(mins); 

     // Append in a StringBuilder 
     String aTime = new StringBuilder().append(hours).append(':') 
       .append(minutes).append(" ").append(timeSet).toString(); 

      txtTimePicker.setText(aTime); 
    } 
@Override 
     protected Dialog onCreateDialog(int id) { 
      switch (id) { 
      case TIME_DIALOG_ID: 

       // set time picker as current time 
       return new TimePickerDialog(this, timePickerListener, hour, minute, 
         false); 

      } 
      return null; 
     } 

ответ

0

Просто поместите следующий код в соответствии с вашими требованиями:

SimpleDateFormat curFormater = new SimpleDateFormat("dd/MM/yyyy"); 

     try { 
      dateObj = curFormater.parse(dateStr); 
     } catch (ParseException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     SimpleDateFormat postFormater = new SimpleDateFormat("MMMM dd, yyyy"); 

     String newDateStr = postFormater.format(dateObj); 

     txtTimePicker.setText(newDateStr+" "+aTime); 
0

Если вы хотите как времени сборщика и выбора даты, есть два различных диалоговых классов, которые нужно использовать: TimePickerDialog и DatePickerDialog.

Так что, если вы хотите, чтобы пользователь также выбирал дату, вам нужно показать DatePickerDialog до или после отображения выбора времени. Вы можете показать DatePickerDialog так же, как вы указали свой TimePickerDialog.

+0

@Alexandra Rosianu спасибо за Ваш ответ. Да, я хочу, чтобы это было так же, как описано. –

Смежные вопросы