6

TimePickerを24時間形式で使用しようとしていますが、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" />

ここに何か足りないものがありますか?

ここに画像の説明を入力してください

4

5 に答える 5

10

わかりました、問題が今何であるかわかります。currentHourを新しい24時間形式に正しく設定していないため、21:05ではなく9: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 に答える