Android:TimePicker setIs24HourView不能正常工作

时间:2013-03-01 04:21:08

标签: android timepicker

我正在尝试以24小时格式使用TimePicker,我正在使用setIs24HourView = true,但我仍然没有在TimePicker上获得24小时格式。这是我在活动的onCreate中的代码。

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

我甚至在setIs24HourView之后尝试了timePicker.setCurrentHour(cal.HOUR_OF_DAY),但我无法在TimePicker上看到24小时格式。

<TimePicker
    android:id="@+id/timePicker1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="110dp" />

我在这里遗漏了什么吗?

enter image description here

5 个答案:

答案 0 :(得分:9)

好的,我看到现在的问题。 它没有正确地将currentHour设置为新的24小时格式,这就是为什么你得到9:05而不是21:05。我猜你不是上午9点! 这是一个错误,如question中所述 对于现在来说,似乎唯一的工作就是做一些事情:

timePicker = (TimePicker) findViewById(R.id.timePicker1);
timePicker.setIs24HourView(true);
timePicker.setCurrentHour(Calendar.get(Calendar.HOUR_OF_DAY));

我看到你尝试过cal.HOUR_OF_DAY,但没有提供你实际使用过的代码,但试试这个,看看是否有帮助。

答案 1 :(得分:8)

我在果冻豆中注意到这个问题您可以设置在24小时视图中显示的时间

    TimePicker picker = (TimePicker) findViewById(R.id.timePicker1);
    picker.setIs24HourView(true);
    Calendar calendar = Calendar.getInstance();

    int h = calendar.get(Calendar.HOUR_OF_DAY);
    int m = calendar.get(Calendar.MINUTE);

    picker.setCurrentHour(h);
    picker.setCurrentMinute(m);

答案 2 :(得分:0)

您只需使用设备设置即可让用户做出此决定;

 String clockType = android.provider.Settings.System.getString(context.getContentResolver(), android.provider.Settings.System.TIME_12_24);

答案 3 :(得分:0)

设置timePicker.setCurrentHour(Calendar.get(Calendar.HOUR_OF_DAY))解决了问题

答案 4 :(得分:0)

timePicker = (TimePicker) findViewById(R.id.timePicker1);

timePicker.setIs24HourView(true);

我们需要添加:

Calendar calendar = Calendar.getInstance();

timePicker.setCurrentHour(calendar.get(calendar.HOUR_OF_DAY));