Android alkalmazás nem indul... Mi lehet a probléma?
Android Studio-ban kell csinálnom egy egyszerű alkalmazást, amihez kell egy adatbázis (SQLite). De ezzel a hibával leáll az alkalmazás miután elindítom.
java.lang.IllegalStateException: Couldn't read row 0, col -1 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.
DAO Class:
@Override
public List<WishItem> getAllWishItems() {
SQLiteDatabase db = helper.getReadableDatabase();
Cursor cursor = db.rawQuery("SELECT * FROM wishitem", null);
List<WishItem> items = new ArrayList<>();
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
int id = cursor.getInt(cursor.getColumnIndex("_id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
int year = cursor.getInt(cursor.getColumnIndex("year"));
int month = cursor.getInt(cursor.getColumnIndex("month"));
int day = cursor.getInt(cursor.getColumnIndex("day"));
int importance = cursor.getInt(cursor.getColumnIndex("importance"));
WishItem wi = new WishItem(id, name, year, month, day, importance);
items.add(wi);
cursor.moveToNext();
}
cursor.close();
db.close();
return items;
}
SQLiteOpenHelper Class:
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE wishitem (_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, year INTEGER, month INTEGER, day INTEGER, importance INTEGER)");
}
A hibát a DAO osztályban az "int year = cursor.getInt(cursor.getColumnIndex("year"));" dobja...
Latszolag nem talal year oszlopot, ezert a getColumnIndex -1-et ad vissza es emiatt elszall IllegalStateExceptionnel.
Biztosan letrejon a year oszlop? Nincs elirva valahol a neve? Ha kiveszed azt a sort, a tobbi oszlopot latja rendesen?
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!