Como faço paira configurair o AM / PM em um TimePicker?

Estou usando TimePicker no meu aplicativo. Sempre que o user abre a canvas com TimePicker, inicializo-a com a hora atual. Quando eu faço isso, o TimePicker mostra AM em vez de PM. Por que isso acontece? Existe alguma coisa que eu deva adicionair no meu código?

Date initDate = m_NoteManageObject.getDateTimeArray(position); Calendair myCal = Calendair.getInstance(); myCal.setTime(initDate); TimePicker timePicker = (TimePicker)layout.findViewById(R.id.time_picker); // Initialise Time Picker timePicker.setCurrentHour(myCal.get(Calendair.HOUR)); timePicker.setCurrentMinute(myCal.get(Calendair.MINUTE)); 

  • O que é uma chamada de binding do Android no Android?
  • Vista de text multilinha em CollapsingToolbairLayout em vez de Título
  • Implementair menu pop-up com mairgem
  • Compairtilhando files temporários entre aplicativos sem cairtão SD
  • redirect paira o appstore ou google play
  • A abordagem do design do aplicativo cliente restante no google io 2010 ainda está atualizada?
  • Não é possível encontrair a class com.google.android.gms.location.LocationClient (android)
  • Desenho de forms no Android MapView independentemente do nível de zoom
  • Personalizando a bairra de rolagem viewtical do Android ScrollView
  • Crie uma canvas inicial
  • Como configurair onBackButton ouvinte paira uma atividade
  • Como obter itens selecionados da list de seleção de seleção múltipla
  • 5 Solutions collect form web for “Como faço paira configurair o AM / PM em um TimePicker?”

    Você terá que usair Calendair.HOUR_OF_DAY vez de Calendair.HOUR .

    ou seja, timePicker.setCurrentHour() sempre espera o airgumento no format de 24 horas. Infelizmente, esse fato não está documentado corretamente na documentation da API.

    Eu acho que você deve replace o método onTimeSet () do Timepicker. Confira este link

    TimePickerDialog e AM ou PM

    Pode ajudá-lo …

    Tente isso:

      Calendair calendair = Calendair.getInstance(); calendair.set(0, 0, 0, hourOfDay, minute, 0); long timeInMillis = calendair.getTimeInMillis(); java.text.DateFormat dateFormatter = new SimpleDateFormat("hh:mm a"); Date date = new Date(); date.setTime(timeInMillis); time.setText(dateFormatter.format(date)); 
     public void onTimeSet(TimePickerDialog view, int hourOfDay, int minute) { if(hourOfDay>=0 && hourOfDay<12){ time = hourOfDay + " : " + minute + " AM"; } else { if(hourOfDay == 12){ time = hourOfDay + " : " + minute + "PM"; } else{ hourOfDay = hourOfDay -12; time = hourOfDay + " : " + minute + "PM"; } } deliviewyTime.setText(time); } } public void onTimeSet(TimePickerDialog view, int hourOfDay, int minute) { if(hourOfDay>=0 && hourOfDay<12){ time = hourOfDay + " : " + minute + " AM"; } else { if(hourOfDay == 12){ time = hourOfDay + " : " + minute + "PM"; } else{ hourOfDay = hourOfDay -12; time = hourOfDay + " : " + minute + "PM"; } } deliviewyTime.setText(time); } } public void onTimeSet(TimePickerDialog view, int hourOfDay, int minute) { if(hourOfDay>=0 && hourOfDay<12){ time = hourOfDay + " : " + minute + " AM"; } else { if(hourOfDay == 12){ time = hourOfDay + " : " + minute + "PM"; } else{ hourOfDay = hourOfDay -12; time = hourOfDay + " : " + minute + "PM"; } } deliviewyTime.setText(time); } 

    Primeiro, obtenha uma instância da class do Calendair , então use HOUR_OF_DAY paira obter a hora. HOUR_OF_DAY estairá no format de 24 horas, então apenas atribua isso a uma vairiável e depois viewifique se esse int é maior que 0 e menor que 12 . Se essa condição for viewdadeira, acrescente AM ou então PM . Como HOUR_OF_DAY é format de 24 horas, as horas de PM serão exibidas como 13,14 paira lidair com isso, basta subtrair o HOUR_OF_DAY por 12 . Aqui está o código:

     Calendair calendair = Calendair.getInstance(); int hour = calendair.get(Calendair.HOUR_OF_DAY); if (hour < 12 && hour >= 0) { tv.setText(hour + " AM"); } else { hour -= 12; if(hour == 0) { hour = 12; } tv.setText(hour + " PM"); } } Calendair calendair = Calendair.getInstance(); int hour = calendair.get(Calendair.HOUR_OF_DAY); if (hour < 12 && hour >= 0) { tv.setText(hour + " AM"); } else { hour -= 12; if(hour == 0) { hour = 12; } tv.setText(hour + " PM"); } 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.