TimePickerDialog автоматически устанавливает AM, когда я выбираю время, даже если я выбрал PM

#android #dialog #timepicker

#Android #диалог #timepicker

Вопрос:

это код, который я использую для диалога выбора времени, и он автоматически устанавливает AM с моим временем, даже если я выбираю PM при выборе времени

  private fun timePicker() {
            val cal = Calendar.getInstance()
           val timelistener = TimePickerDialog.OnTimeSetListener { view, hourOfDay, minute ->
               var hr = hourOfDay
               if (hr>12)
                   hr -=12
               cal.set(Calendar.HOUR_OF_DAY, hr)
               cal.set(Calendar.MINUTE, minute)
               binding.addMoretimeStamp.text = SimpleDateFormat("h:mm a").format(cal.time)
           }
            TimePickerDialog(requireContext(), timelistener, cal.get(Calendar.HOUR_OF_DAY), cal.get(Calendar.MINUTE), false).show()
        }
 

Комментарии:

1. cal.set(Calendar.HOUR_OF_DAY, hr) должно быть так cal.set(Calendar.HOUR_OF_DAY, hourOfDay) . Вам не нужно вычислять часы ur, уже используя формат даты, он позаботится об этом.

2. спасибо … проблема решена