Ошибка Java (исключение времени выполнения - исключение недопустимого аргумента) - Android - PullRequest
0 голосов
/ 04 февраля 2012

Вот сообщение об ошибке, которое я получаю: E/AndroidRuntime(416): java.lang.RuntimeException: Unable to start activity ComponentInfo java.lang.IllegalArgumentException. Я вынул имя файла приложения / имя пакета, но все остальное есть. Приложение предназначено для Gingerbread, но имеет минимальный уровень SDK для Froyo. Я в основном получаю сообщение AVR, когда пытаюсь запустить приложение на AVD. Исходный код длиной ~ 460 строк, поэтому я не уверен, где ошибка (нет синтаксических ошибок, поэтому я не уверен, что я делаю неправильно). Вот URL-адрес пастбина для исходного кода, который я выложил: http://pastebin.com/EtUP2CAB. Я видел кое-что о DecimalFormatSymbols, SensorSimulator и т. Д., Но я все еще не уверен Следовательно, я был бы признателен за помощь в поиске здесь проблемы, вызывающей эту ошибку.

РЕДАКТИРОВАТЬ: Вот журнал ошибок для последнего запуска, который я сделал:

02-03 20:51:21.724: D/AndroidRuntime(468): Shutting down VM
02-03 20:51:21.724: W/dalvikvm(468): threadid=1: thread exiting with uncaught exception (group=0x40015560)
02-03 20:51:21.784: E/AndroidRuntime(468): FATAL EXCEPTION: main
02-03 20:51:21.784: E/AndroidRuntime(468): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.deitel.flagquizgame/com.deitel.flagquizgame.FlagQuizGame}: java.lang.IllegalArgumentException
02-03 20:51:21.784: E/AndroidRuntime(468):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
02-03 20:51:21.784: E/AndroidRuntime(468):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
02-03 20:51:21.784: E/AndroidRuntime(468):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
02-03 20:51:21.784: E/AndroidRuntime(468):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
02-03 20:51:21.784: E/AndroidRuntime(468):  at android.os.Handler.dispatchMessage(Handler.java:99)
02-03 20:51:21.784: E/AndroidRuntime(468):  at android.os.Looper.loop(Looper.java:123)
02-03 20:51:21.784: E/AndroidRuntime(468):  at android.app.ActivityThread.main(ActivityThread.java:3683)
02-03 20:51:21.784: E/AndroidRuntime(468):  at java.lang.reflect.Method.invokeNative(Native Method)
02-03 20:51:21.784: E/AndroidRuntime(468):  at java.lang.reflect.Method.invoke(Method.java:507)
02-03 20:51:21.784: E/AndroidRuntime(468):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
02-03 20:51:21.784: E/AndroidRuntime(468):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
02-03 20:51:21.784: E/AndroidRuntime(468):  at dalvik.system.NativeStart.main(Native Method)
02-03 20:51:21.784: E/AndroidRuntime(468): Caused by: java.lang.IllegalArgumentException
02-03 20:51:21.784: E/AndroidRuntime(468):  at java.util.Random.nextInt(Random.java:186)
02-03 20:51:21.784: E/AndroidRuntime(468):  at com.deitel.flagquizgame.FlagQuizGame.resetQuiz(FlagQuizGame.java:136)
02-03 20:51:21.784: E/AndroidRuntime(468):  at com.deitel.flagquizgame.FlagQuizGame.onCreate(FlagQuizGame.java:92)
02-03 20:51:21.784: E/AndroidRuntime(468):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
02-03 20:51:21.784: E/AndroidRuntime(468):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
02-03 20:51:21.784: E/AndroidRuntime(468):  ... 11 more
02-03 20:51:27.464: I/Process(468): Sending signal. PID: 468 SIG: 9

1 Ответ

0 голосов
/ 04 февраля 2012

отображается в строке

int randomIndex = random.nextInt(numberOfFlags);

numberOfFlags не является положительным числом, его 0 или меньше 0, проверьте значение numberOfFlags путем отладки.

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