Android: возможная ошибка в DatePicker? - PullRequest
0 голосов
/ 24 октября 2011

Мне удалось воспроизвести в эмуляторах Android 1.5, 1.6, 2.0 и 2.1 следующее поведение: скопировать текст "241299999999999999" из любого представления EditText;перейдите к любому средству выбора даты (например: «Настройки даты и времени») и вставьте это значение как год или месяц.

Приложение, использующее 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 голосов
/ 24 октября 2011

Предполагая, что целое число занимает 4 байта, максимальное значение, которое оно может принять, составляет

2 ^ 32 = 4 294 967 296.

вы указали значение, выходящее за пределы диапазона, чтобы распознать его как целое число.

0 голосов
/ 24 октября 2011

не бывает для меня;на моем Samsung Fascinate (2.2) он даже не позволяет мне вставлять или вводить такие большие числа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...