У меня небольшая проблема с моим адаптером списка.Я использую ленивое представление списка загрузки для своего приложения, которое я заполняю из базы данных.Проблема в том, что мне нужно получить данные из 2 разных таблиц.Вот небольшой код, который я использую:
String sqlQuery = "SELECT categoryId, collectionId, objectId, title FROM cards WHERE collectionId="+collId;
Cursor cursor = userDbHelper.executeSQLQuery(sqlQuery);
String sqlQuery2 = "SELECT objectId, title FROM categories";
Cursor cursorCat = userDbHelper.executeSQLQuery(sqlQuery2);
cursorCat.moveToFirst();
if(cursor.getCount()==0 && cursorCat.getCount()==0){
Log.i("No Thumbnails","There are no Cards or Thumbnails.");
cursor.close();
cursorCat.close();
} else if(cursor.getCount()>0 && cursorCat.getCount()>0){
for(cursor.move(0); cursor.moveToNext(); cursor.isAfterLast()){
title = cursor.getString(cursor.getColumnIndex("title"));
Log.v("Title","Title : "+title);
categoryId = Integer.parseInt(cursor.getString(cursor.getColumnIndex("categoryId")));
Log.v("Category Id","Category Id : "+categoryId);
names.add(title);
}
for(cursorCat.move(0); cursorCat.moveToNext(); cursorCat.isAfterLast()){
title = cursorCat.getString(cursorCat.getColumnIndex("title"));
Log.v("Title","Title : "+title);
categoryId = Integer.parseInt(cursorCat.getString(cursorCat.getColumnIndex("objectId")));
Log.v("Category Id","Category Id : "+categoryId);
categories.add(title);
}
}
Поэтому я должен проверить categoryId
из cards
и получить title
этой категории из таблицы categories
.Но проблема в том, что у меня примерно 120 разных имен, и когда я загружаю их в виде списка, приложение падает, потому что количество категорий равно 11. Итак, вот код адаптера:происходит сбой в этой строке: holder.info.setText(info.get(position));
с этими исключениями:
10-14 15:55:42.378: ERROR/AndroidRuntime(16468): java.lang.IndexOutOfBoundsException: Invalid index 11, size is 11
Итак, как я могу установить размер категорий в моем адаптере?Есть предложения?