2012-09-17 9 views

Respuesta

34

El ajuste TimePicker de forma predeterminada al modo de 24 horas no siempre es una buena idea ya que muchos países tienen diferentes convenciones. Para este caso, use DateFormat.is24HourFormat(getActivity()).

Su código final migth se parece a picker.setIs24HourView(DateFormat.is24HourFormat(this));.

más detalles, véase:

+0

Hay varias clases DateFormat, utilizar la correcta: timePicker.setIs24HourView (android.text.format. DateFormat.is24HourFormat (context)); –

3

sólo hay que recuperar la instancia TimePicker de la vista después de inflarlo, a continuación, puede modificar el widget .

ID son arbitrarias:

View v=getActivity().getLayoutInflater().inflate(R.layout.dialog_time, null); 
TimePicker timePicker=(TimePicker)v.findViewById(R.id.dialog_time_timePicker); 
timePicker.setIs24HourView(true); 
18

Si desea que el TimePicker a ser inicializado correctamente con la hora actual en formato de 24 horas, utilice la siguiente:

import java.util.Calendar; 

timePicker.setIs24HourView(true); 
timePicker.setCurrentHour(Calendar.getInstance().get(Calendar.HOUR_OF_DAY)); 

De lo contrario, debido al error de Android, el el selector comenzará con una hora incorrecta (2 en lugar de 14, etc.).

+3

+1 para incluir el problema de configuración de horas –

+0

¿Cómo se puede establecer el día de la hora, por ejemplo, 5PM? –

0

Sólo se necesita llamar y enviar cierto a setIs24HourView función.

TimePicker tpHourMin = (TimePicker) findViewById(R.id.timePicker); 
tpHourMin.setIs24HourView(true); 
0

Como algunas personas ya han mencionado, simplemente establezca el parámetro en verdadero o falso.

timePicker.setIs24HourView (true);

puede encontrar un ejemplo completo con el código fuente para descargar de aquí http://www.ahotbrew.com/android-timepicker-example/

2

xml

<TimePicker 
     android:layout_width="300dp" 
     android:layout_height="300dp" 
     android:id="@+id/timePicker" /> 

java

TimePicker timePicker = (TimePicker) findViewById(R.id.timePicker);  
timePicker.setIs24HourView(true); 
0

necesito el mismo sólo para una aplicación para establecer el duración gastada para hacer una tarea. Descubrí que solo necesito extender la clase TimePickerDialog y pasar True en el último parámetro de constructor boolean is24HourView.

public class DurationPickerDialog extends TimePickerDialog { 

public DurationPickerDialog(Context context, TimePickerDialog.OnTimeSetListener callBack, int hourOfDay, int minute){ 
    super(context, callBack, hourOfDay, minute, true); 
} 

después, sólo tendrá que crear esto como

TimePickerDialog durationPicker = new DurationPickerDialog(getActivity(), this, hour, minute); 
durationPicker.setTitle("Duration:"); 
Cuestiones relacionadas