Проблема с адаптером просмотра списка Android - PullRequest
0 голосов
/ 14 октября 2011

У меня небольшая проблема с моим адаптером списка.Я использую ленивое представление списка загрузки для своего приложения, которое я заполняю из базы данных.Проблема в том, что мне нужно получить данные из 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

Итак, как я могу установить размер категорий в моем адаптере?Есть предложения?

...