Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
1

ArrayIndexOutOfBoundsException

22.05.2013, 17:08. Просмотров 1192. Ответов 6
Метки нет (Все метки)

Есть лог. Понимаю, что ошибка в строке 31, но там скобка. В чём ошибка?
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ex/com.ex.Activity}: java.lang.ArrayIndexOutOfBoundsException: length=5; index=-1
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2073)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2098)
at android.app.ActivityThread.access$600(ActivityThread.java:138)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1204)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4905)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ArrayIndexOutOfBoundsException: length=5; index=-1
at com.findwc.Activity.onCreate(Activity.java:31)
at android.app.Activity.performCreate(Activity.java:5236)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1082)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2037)
... 11 more
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
        @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        addPreferencesFromResource(R.xml.settings);
        
        prefList = (ListPreference) findPreference("pref");    
            prefList.setDefaultValue(prefList.getEntryValues()[2]);
            String ss = prefList.getValue();
            if (ss == null) {
                prefList.setValue((String)prefList.getEntryValues()[2]);
                ss = prefList.getValue();
            }                         // это 31 строка                      
            prefList.setSummary(prefList.getEntries()[prefList.findIndexOfValue(ss)]);
            prefList.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
                @Override
                public boolean onPreferenceChange(Preference preference, Object newValue) {
                    prefList.setSummary(prefList.getEntries()[prefList.findIndexOfValue(newValue.toString())]);
                    return true;
                }
 
                
            }); 
  }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2013, 17:08
Ответы с готовыми решениями:

Ошибка ArrayIndexOutOfBoundsException
Доброго времени суток. Просьба помочь начинающему программисту разобраться с...

Ошибка при запуске проекта ArrayIndexOutOfBoundsException
Доброго времени суток. Понимаю, что обращаюсь с данной проблемой во второ ...

ArrayIndexOutOfBoundsException
Вот задача: http://codeforces.ru/problemset/problem/158/A Вот её решение:...

ArrayIndexOutOfBoundsException
ребят, подскажите пожалуйста почему выдаёт ошибку ...

ArrayIndexOutOfBoundsException
package com.test; import java.io.BufferedReader; import...

6
dr_yand
157 / 138 / 15
Регистрация: 13.03.2013
Сообщений: 321
Записей в блоге: 3
22.05.2013, 17:14 2
Цитата Сообщение от Digetix Посмотреть сообщение
Caused by: java.lang.ArrayIndexOutOfBoundsException: length=5; index=-1
в одном из подобных
Java
1
prefList.getEntries()[prefList.findIndexOfValue(ss)]
не находится элемент, поэтому возвращается индекс -1, и естественно по данному индексу нельзя обратиться к элементу массива
0
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
22.05.2013, 17:29  [ТС] 3
Цитата Сообщение от dr_yand Посмотреть сообщение
не находится элемент, поэтому возвращается индекс -1, и естественно по данному индексу нельзя обратиться к элементу массива
А почему так происходит?
0
dr_yand
157 / 138 / 15
Регистрация: 13.03.2013
Сообщений: 321
Записей в блоге: 3
22.05.2013, 17:36 4
чтобы понять нужно смотреть что содежится в prefList и что передаете в findIndexOfValue
0
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
22.05.2013, 17:44  [ТС] 5
Цитата Сообщение от dr_yand Посмотреть сообщение
чтобы понять нужно смотреть что содежится в prefList и что передаете в findIndexOfValue
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    <string-array name="rad">
            <item>50 m</item>
            <item>5 km</item>
            <item>10 km</item>
            <item>15 km</item>
            <item>20 km</item>
            <item>25 km</item>
            <item>50 km</item>
            <item>100 km</item>
            <item>Show all</item>
    </string-array>
    <string-array name="radValues">
            <item>0.05</item>
            <item>5</item>
            <item>10</item>
            <item>15</item>
            <item>20</item>
            <item>25</item>
            <item>50</item>
            <item>100</item>
            <item>999999999</item>
    </string-array>
0
dr_yand
157 / 138 / 15
Регистрация: 13.03.2013
Сообщений: 321
Записей в блоге: 3
22.05.2013, 17:52 6
на самом деле я рекомендовал бы пройтись по этому участку кода дебагером.
и за один проход вы увидите из-за каких значений выпадает программа
0
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
22.05.2013, 22:22  [ТС] 7
Цитата Сообщение от dr_yand Посмотреть сообщение
на самом деле я рекомендовал бы пройтись по этому участку кода дебагером.
А можете подсказать как это сделать?
0
22.05.2013, 22:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.05.2013, 22:22

Ошибка - ArrayIndexOutOfBoundsException
всем привет) собственно, в чём проблема. имеется программа, написанная в...

Массивы. ArrayIndexOutOfBoundsException
Немогу понять в чем проблема public class Min { public static void...

ArrayIndexOutOfBoundsException постоянно
package picparcer; import java.io.*; import java.net.*; public class...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru