6

次のリンクで言及されている質問を続けます。

キーボードが使用されている場合、TimePicker で時間の変更をキャプチャするにはどうすればよいですか?

問題を解決できましたが、実際のキーボードを使用した場合にのみ機能します。ソフト キーボードを使用すると、機能しなくなります。

フレームワークの 1.6 バージョンでプログラミングしています。

どんな助けでも大歓迎です。

PS: 私はどこでも答えを探しましたが、それを見つけることができなかったという事実は、これが非常に単純であるか非常に複雑であるに違いないことを示しています. ヘルプ?!

4

3 に答える 3

2

Codyからのコメントを参照すると、ダイアログを閉じたときにTimePickerからフォーカスを削除する必要があります。

これを使用できます。ここで、tpはTimePickerインスタンスです。

   public void onDialogClosed(boolean positiveResult) {
   tp.clearFocus();
于 2011-02-27T10:36:10.317 に答える
1

私は同じ問題を抱えています。TimePickerDialog を使用すれば問題ありません。DialogPreference で TimePicker を使用する場合、これは私がこれまでに行った最悪の回避策であり、TimePicker のビュー階層を下ります。

ViewGroup v = (ViewGroup) timePicker.getChildAt(0);
ViewGroup numberPicker1 = (ViewGroup) v.getChildAt(0);
ViewGroup numberPicker2 = (ViewGroup) v.getChildAt(1);

String hours = ((EditText) numberPicker1.getChildAt(1)).getText().toString();
String mins = ((EditText) numberPicker2.getChildAt(1)).getText().toString();

String selectedTime = hours+":"+mins;

このようにして、入力されたテキストに直接アクセスできましたが、キーボード入力を管理するためのより良い方法があるはずです...

于 2010-10-26T17:17:36.157 に答える
0

これが私にとってうまくいったことです。この問題は、使用しているデバイスに応じた問題にすぎないことがわかりました。私はSamsungMomentを持っているので、他のデバイス(明らかにすべてではない)とエミュレーターでテストした後、それは私の電話でのみ発生していることがわかりました。

次のリンクは、私の問題を解決するのに役立ちました。お役に立てば幸いです...

http://blog.xiaad.com/2010/03/android-datepicker-years-before-2000.html

N-ジョイ!

シモン

于 2010-09-10T03:24:10.533 に答える