Подтвердить что ты не робот

Как установить показ TimePicker с форматом 24h

Я создал TimePicker в макете, и я хочу, чтобы он показывал время с форматом 24h.

Вы можете мне помочь? Спасибо.

4b9b3361

Ответ 1

TimePicker - это представление для выбора времени суток в режиме 24 часа или AM/PM. Вы можете использовать setIs24HourView(true) метод TimePicker.

Ответ 2

Настройка TimePicker по умолчанию на 24-часовой режим не всегда является хорошей идеей, так как многие страны имеют разные соглашения. Для этого случая используйте DateFormat.is24HourFormat(getActivity()).

Ваш последний код migth выглядит как picker.setIs24HourView(DateFormat.is24HourFormat(this));.

Дополнительная информация:

Ответ 3

Если вы хотите, чтобы TimePicker был правильно инициализирован текущим временем в формате 24h, используйте следующее:

import java.util.Calendar;

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

В противном случае из-за ошибки Android сборщик начнет с неправильного часа (2 вместо 14 и т.д.).

Ответ 4

Вам просто нужно извлечь экземпляр TimePicker из представления после его раздувания, затем вы можете изменить виджет.

Идентификаторы произвольны:

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

Ответ 5

По умолчанию оно отображает время в формате AM/PM. Если вы хотите изменить время в 24-часовом формате, вы можете использовать метод setIs24HourView(). См. Эту ссылку: http://www.androidaspect.com/2012/06/timepicker-view-tutorial.html

Ответ 6

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); 

Ответ 7

Мне нужно то же самое, что и приложение, чтобы установить трафик продолжительности для выполнения задачи. Я обнаружил, что мне просто нужно расширить класс TimePickerDialog и передать True в последнем параметре конструктора boolean is24HourView.

public class DurationPickerDialog extends TimePickerDialog {

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

Тогда вам нужно только создать это как

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

Ответ 8

Вам просто нужно позвонить и отправить true в функцию setIs24HourView.

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

Ответ 9

Как уже отмечалось, некоторые люди задают параметр true или false.

timePicker.setIs24HourView (истина);

Вы можете найти полный пример с исходным кодом для загрузки отсюда http://www.ahotbrew.com/android-timepicker-example/

Ответ 10

Или вы позволяете пользователю решать для себя, какой формат он хочет использовать.

В вашей основной деятельности:

DialogFragment timePicker = new TimePickerFragment();
timePicker.show(getSupportFragmentManager(), "time picker");


   @Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {

            TextView outputText= (TextView)findViewById(R.id.outputText);
            outputText.setText(hourOfDay + " : "+ minute);
}

И в новом классе Java (TimePickerFragment):

public class TimePickerFragment extends DialogFragment {

@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {

    Calendar c = Calendar.getInstance();
    int hour = c.get(Calendar.HOUR_OF_DAY);
    int minute = c.get(Calendar.MINUTE);



    return new TimePickerDialog(getActivity(),(TimePickerDialog.OnTimeSetListener) getActivity(), hour, minute, android.text.format.DateFormat.is24HourFormat(getActivity()));

}}