2016-11-28 6 views
1

私のコードで時間ピッカーと日付ピッカーを使用しています。私は日付ピッカーのフォーマットを設定していますsetFormatterメソッドを使用してうまくいきましたが、時間ピッカーのフォーマットを設定している間は指定されたフォーマットを取っていないので、code.itを実行しているときに不正な引数例外が表示されます。それは12時間のフォーマットを示しています。しかし、私は12時間形式のみを示しています時間ピッカーダイアログを開いている必要があります。何かが私のコードで間違っています。ここでtimepicker型のsetFormatter Display.PICKER_TYPE_TIMEがコードネーム1で機能していません

SimpleDateFormat dateFormatter = new SimpleDateFormat("MM/dd/yyyy"); 
datePicker = new Picker(); 
datePicker.setType(Display.PICKER_TYPE_DATE); 
datePicker.setFormatter(dateFormatter); 
SimpleDateFormat timeFormatter = new SimpleDateFormat("h:mm a"); 
timePicker = new Picker(); 
timePicker.setType(Display.PICKER_TYPE_TIME); 
timePicker.setShowMeridiem(Boolean.TRUE); 
timePicker.setFormatter(timeFormatter); 
Container c = new Container(new BoxLayout(BoxLayout.X_AXIS)); 
c.add(datePicker); 
c.add(timePicker); 
dialogtimeForm.add(c); 

、私のコードで下の画像に事前に

感謝を見つけてください。

答えて

0

時間ピッカーはDateオブジェクトでは機能しません。Dateは、抽象的なタイムゾーンを区別しない時間概念を表現するのが非常に悪いので、真夜中の時刻を表す整数で動作します。

したがって、日付または日付ではないすべてのタイプのフォーマッタは無視されます。&時間(日付とは異なります)。

あなたはフォーマットされた値でsetText(String)を呼び出すPickerクラス&でupdateValueを上書きすることによって、あなたが大切にしたい書式を任意のカスタムを行うことができます。

+0

画像リンクを追加しました。画像を見つけると、12時間形式を表示した時間を選択した後にのみ24時間形式が表示されます。しかし、私は12時間形式のダイアログを表示したいだけです。それは可能ですか? –

+0

スクリーンショットがありません。 –

+0

"https://i.stack.imgur.com/vyTQj.png"に影響する可能性のあるコードの値を設定しないでください。このリンクを開いて、時間ピッカーダイアログに表示される24時間フォーマット。 –

関連する問題