1

ボタンをクリックすると、TimePickerDialog の時間形式を 12 時間から 24 時間に、またはその逆に変更する必要があります。

onPrepareDialog() を使用する必要があることはわかっていますが、 onPrepareDialog 内の時間形式を変更するにはどうすればよいですか? どんな助けでも大歓迎です!

ありがとうございました。

4

2 に答える 2

2

最後に、これを達成するために回避策を実行しました!. onPrepareDialog() を使用する代わりに、

変数を使用して、時間を 24 時間または 12 時間形式で表示する必要があるかどうかを確認しました。

    Boolean is24HoursSet;

ユーザーが 24 時間を選択した場合は true に設定され、それ以外の場合は false に設定されます。

2つの定数を追加しました

    TIME_IN_12_HOURS //and
    TIME_IN_24_HOURS

12 時間形式と 24 時間形式の両方。

タッチ リスナーでは、showDialog() を呼び出します。

    //checks the variable, and calls according showdialog.
    if(is24HoursSet)
    {
        showDialog(START_TIME_24);
    }
    else 
    {
        showDialog(START_TIME_12);
    }

これは、TimePickerDialog の新しいオブジェクトを作成することにより、onCreateDialog() の switch ケースで処理されます。コンストラクターの最後のパラメーターとして true または false を使用して、対応する時間形式で timpicker を開きます。:)

于 2012-10-23T09:15:28.270 に答える
1

それはあなたが探しているものですか:

setIs24HourView(Boolean is24HourView);

ドキュメンテーション

于 2012-10-23T06:06:47.870 に答える