У меня есть макет / кнопка и onClick Я получаю TimePickerDialog с текущим временем (ранее определенным из Календарь ):
RelativeLayout time = (RelativeLayout) findViewById(R.id.time_layout);
time.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
TimePickerDialog dateDialog = new TimePickerDialog(SelectDateTimeActivity.this,
TimeSetListener,
hours, minutes, false);
dateDialog.show();
}
});
TimePicker находится в режиме 12h - имеет отметку AM / PM . TimeSetListener выглядит как
private TimePickerDialog.OnTimeSetListener TimeSetListener = new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
hours = hourOfDay;
minutes = minute;
updateTimeRow();
}
};
и updateTimeRow () is
private void updateTimeRow() {
Calendar c = Calendar.getInstance();
c.set(Calendar.HOUR, hours);
c.set(Calendar.MINUTE, minutes);
timeBody.setText("@ " + (String) (DateFormat.format("hh:mm aa", c.getTime())));
}
Проблема в том, что время, установленное в TimePickerDialog 06: 00 PM (что на самом деле 18:00, я проверил через логирование), я получаю 06: 00 AM в моем timeBody textView , Если я установлю его на 06: 00 AM (что на самом деле 06:00) в timeBody textView, я получу 06: 00 PM . Почему?