2016-12-21 2 views
1

Я использую ниже код для получения времени от пользователя. Все работает нормально, кроме случаев, когда пользователь выбирает 15 в формате 24 часа, окончательный вывод приходит в 3 часа ночи и наоборот. Я прочитал много блогов, но не получил четкого решения для сортировки. Может кто-то помочь. Вот код:Неправильное время, выбранное с помощью timepickerdialog

final TimePickerDialog.OnTimeSetListener tf = new TimePickerDialog.OnTimeSetListener() { 
     @Override 
     public void onTimeSet(TimePicker timePicker, int i, int i1) { 
      calendar.set(Calendar.HOUR, i); 
      calendar.set(Calendar.MINUTE, i1); 
      String myFormat = "hh:mm a"; //In which you need put here 
      SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US); 
      timefrom.setText(sdf.format(calendar.getTime())); 
     } 
    }; 

Вот код, когда время устанавливается по щелчку:

timefrom.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       new TimePickerDialog(HireActivity.this, tf, 
         calendar.get(Calendar.HOUR), calendar.get(Calendar.MINUTE), true).show(); 
      } 
     }); 

Я попытался с 122 Hours формат представления также и здесь также, если пользователь выбирает 5 AM, конечный результат приходит как 6 PM и наоборот.

ответ

0

использование HOUR_OF_DAY

new TimePickerDialog(HireActivity.this, tf, 
      calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), true).show(); 
+0

Совершенная. благодаря – Panache