2010-11-10 2 views
12

Я хочу показать 24 часа часов вместо 12 часов с использованием TimePicker, и мне не нужен AM/PM-бутон, просто хочу показать 24-часовые часы.Можно ли удалить кнопку AM/PM с TimePicker?

Возможно ли это?

Я использовал setIs24HourView(true), но он не работает.

Предложите мне Как я могу показать 24-часовые часы?

+0

Любопытно, но почему это должно быть в макете, а не в коде? – brianestey

ответ

13

Have you tried setting setIs24HourView?

Если вам просто нужно использовать NumberPicker виджет в других ненормальных способов:

Там есть NumberPicker виджет в Android, но это частный API. This guy pulled out the code, чтобы вы могли бросить его в любой проект.

Here is an example of how I used it for tax rates:

alt text

+0

i prefeer использовать timepicker, мне нужно басистко вызвать «setIs24HourView (true)» из макета, а не из java-кода. можно? – NullPointerException

+0

Это не представляется возможным, я не могу найти его в документации:/ –

+0

ouch well, я буду ждать, если кто-то это узнает – NullPointerException

5

я испытал те же проблемы, но решить ее, выполнив setIs24HourView в onCreate призыв к деятельности ..

0

Вы можете overrite в

public void onTimeChanged (TimePicker view, int hourOfDay, int minute) 
method of TimePickerDialog to completely remove AM/PM: 

class MyTimePickerDialog extends TimePickerDialog { 
    MyTimePickerDialog(Context context, TimePickerDialog.OnTimeSetListener callBack, int hourOfDay, int minute, boolean is24HourView) { 
     super(context, callBack, hourOfDay, minute, is24HourView); 
    } 
@Override 
public void onTimeChanged (TimePicker view, int hourOfDay, int minute) { 
    // to prevent the dialog from changing the title which by default contains AM/PM 
} 
} 

Вот как его использовать

MyTimePickerDialog dialog = new MyTimePickerDialog(getActivity(), this, hour, minute, 
         true /*DateFormat.is24HourFormat(getActivity())*/); 
dialog.setTitle("Set Time"); 
0

Вы должны вызвать функцию setIs24HourView и отправить true для этого.
Когда выбор времени находится в режиме 24, AM/PM исчезнет.

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