2011-10-24 4 views
0

私は、Androidエミュレータ1.5,1.6,2.0、および2.1では、次の動作を再現することができました。EditTextビューのテキスト "241299999999999999"をコピーしました。任意の日付ピッカー(例:日付&時間設定)に移動し、その値を年または月として貼り付けます。Android:DatePickerにバグがありますか?

以下のスタックトレースをDatePickerクラッシュを使用したアプリケーション:

10-24 15:50:54.674: E/AndroidRuntime(1012): Uncaught handler: thread main exiting due to uncaught exception 
E/AndroidRuntime(1012): java.lang.NumberFormatException: unable to parse '241299999999999999' as integer 
at java.lang.Integer.parse(Integer.java:390) 
at java.lang.Integer.parseInt(Integer.java:374) 
at java.lang.Integer.parseInt(Integer.java:333) 
at com.android.internal.widget.NumberPicker.getSelectedPos(NumberPicker.java:379) 
at com.android.internal.widget.NumberPicker.access$1100(NumberPicker.java:37) 
at com.android.internal.widget.NumberPicker$NumberRangeKeyListener.filter(NumberPicker.java:362) 
at com.android.internal.widget.NumberPicker$NumberPickerInputFilter.filter(NumberPicker.java:316) 
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:417) 
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:409) 
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:28) 
at android.widget.TextView.onTextContextMenuItem(TextView.java:6932) 
at android.widget.TextView$MenuHandler.onMenuItemClick(TextView.java:6853) 
at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:133) 
at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:813) 
at com.android.internal.view.menu.MenuDialogHelper.onClick(MenuDialogHelper.java:120) 
at com.android.internal.app.AlertController$AlertParams$3.onItemClick(AlertController.java:884) 
at android.widget.AdapterView.performItemClick(AdapterView.java:283) 
at android.widget.ListView.performItemClick(ListView.java:3132) 
at android.widget.AbsListView$PerformClick.run(AbsListView.java:1620) 
at android.os.Handler.handleCallback(Handler.java:587) 
at android.os.Handler.dispatchMessage(Handler.java:92) 
at android.os.Looper.loop(Looper.java:123) 
at android.app.ActivityThread.main(ActivityThread.java:3948) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:521) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540) 
at dalvik.system.NativeStart.main(Native Method) 

これは既知のバグですか?整数を仮定

答えて

2

は、それがとり得る最大値は

2^32 = 4,294,967,296であり、4つのバイトを取ります。

範囲外の値を整数として認識しています。

+0

確かに、logcatは「241299999999999999を整数として解析できません」と言っています。 – Huang

+0

私はそれをIntegerとして認識できないはずですが、このケースに対して保護すべきではないと思いますか?私はこのケースでクラッシュが望ましい動作ではないと思う – pandre

0

私には起こりません。私のサムスンの魅力的な(2.2)で、それは私がペーストするか、それほど大きな数字を入力することさえできません。

+0

はい、それはAndroid 2.2の問題をGoogleが解決したようです – pandre

+0

私は読むことを学ぶべきです。 :)あなたはあなたのポストに2.1で止まった。私は今消えるだろう。 :P – kcoppock

関連する問題