2015-05-01 3 views
0

Я пытаюсь найти позицию структуры класса как ArrayList из автозаполнения, например, у меня есть эта структура классов:Android получить выбранную позицию элемента из структуры класса в автозаполнениях

public class Clients { 

    @DatabaseField(generatedId = true) 
    public int id; 

    @DatabaseField 
    public int client_code; 

    public int getClient_code() { 
     return client_code; 
    } 
} 

И я определяю ArrayList из этого класса как:

private ArrayList<Clients> customersList = new ArrayList<Clients>(); 

Теперь у меня есть некоторые данные в этом ArrayList, и я хочу, чтобы получить выбранную позицию, чтобы выяснить, какие client_code выбран.

at_sender_package.setOnItemClickListener(new AdapterView.OnItemClickListener(){ 

    @Override 
    public void onItemClick(AdapterView<?> parent, View view, int position, long rowId) { 
     int selectedposition=position; 
     Log.e("SELECTED ITEM: ", customersList.get(selectedposition).getClient_code()+""); 
    } 
}); 

К сожалению, я получаю эту ошибку:

java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0 at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251) at java.util.ArrayList.get(ArrayList.java:304)

мой список массива DonT пуст и у меня есть 3 пункта в том, что и я не имею никакой проблемы, чтобы получить выделенный текст, я хочу, чтобы выбрать только позиция не выбран текст

, например:

Log.e("POS: ", parent.getItemAtPosition(position) + ""); 

Результат: POS: Item 1)

+0

да только только. ничего в списке, тогда как это покажет? – Shadow

+0

@ Сообщение Shadow обновлено, пожалуйста, просмотрите этот сэр, –

+0

, где вы вставляете данные? – Shadow

ответ

0

Здесь ваш список пуст, и вы пытаетесь получить данные от него.

Проактивным способом избежать этой ошибки является применение одной проверки длины списка перед использованием ее элементов.

нравится:

if(customersList.size() > 0) { 
//do your stuff 

} 

Вы можете прочитать больше об этой ошибке здесь:

http://voidexception.weebly.com/array-index-out-of-bounds-exception.html

+0

Мой список массивов не пуст, и у меня есть 3 элемента, и у меня нет проблема, чтобы получить выделенный текст, я хочу только получить выбранную позицию, не выбранную текст sir, –

+0

См. сообщение об ошибке, которое вы опубликовали, оно говорит 'Invalid index 0, size is 0'. Размер arraylist - это 0, пожалуйста, пройдите через код еще раз. Вы используете пустой список –

+0

yes sir. Я получаю эту ошибку, когда я пытаюсь получить позицию –

0

java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0

означает, что ваш ArrayList, customersList пуст, и вы хотите получить деталь в положении 0 что является недопустимым. Поэтому первая проверка customersList длина как

if (customersList.size() > 0) { 
    Log.e("SELECTED ITEM: ", customersList.get(selectedposition).getClient_code() + ""); 
} else { 
    Log.e("SELECTED ITEM: ", "customersList is empty"); 
} 
Смежные вопросы