6

我正在尝试以 24 小时格式使用 TimePicker,并且我正在使用 setIs24HourView=true,但我仍然没有在 TimePicker 上获得 24 小时格式。这是我在 Activity 的 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" />

我在这里错过了什么吗?

在此处输入图像描述

4

5 回答 5

10

好的,我知道现在是什么问题了。它没有正确地将 currentHour 设置为新的 24 小时格式,这就是为什么你得到 9:05 而不是 21:05。我猜你现在不是早上 9 点!这是一个错误,正如这个问题中提到的,目前 看来唯一的解决方法是执行以下操作:

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

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

于 2013-03-01T05:37:44.127 回答
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);
于 2013-03-01T05:38:01.167 回答
0

您可以只使用设备设置,从而让用户做出决定;

 String clockType = android.provider.Settings.System.getString(context.getContentResolver(), android.provider.Settings.System.TIME_12_24);
于 2013-03-01T04:59:10.877 回答
0

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

于 2013-03-01T06:31:51.953 回答
0
timePicker = (TimePicker) findViewById(R.id.timePicker1);

timePicker.setIs24HourView(true);

我们需要添加这个:

Calendar calendar = Calendar.getInstance();

timePicker.setCurrentHour(calendar.get(calendar.HOUR_OF_DAY));
于 2017-11-06T08:12:45.450 回答