ボタンをクリックすると、TimePickerDialog の時間形式を 12 時間から 24 時間に、またはその逆に変更する必要があります。
onPrepareDialog() を使用する必要があることはわかっていますが、 onPrepareDialog 内の時間形式を変更するにはどうすればよいですか? どんな助けでも大歓迎です!
ありがとうございました。
最後に、これを達成するために回避策を実行しました!. 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 を開きます。:)