【发布时间】:2020-12-21 18:05:43
【问题描述】:
我正在使用具有以下方法的 DBHelper 类
public List<List<String>> getReservations (String username) {
List<List<String>> reservations = new ArrayList<List<String>>();
List<String> row = new ArrayList();
SQLiteDatabase database = this.getReadableDatabase();
Cursor c1 = database.rawQuery("SELECT * FROM Reservations WHERE username LIKE '" + username + "'", null);
while(c1.moveToNext()) {
row.add(c1.getString(1)); //parkingname
row.add(c1.getString(2)); //date
row.add(c1.getString(3)); //time
reservations.add(row);
row.clear();
}
c1.close();
return reservations;
}
我的数据库已填充(100% 确定,其他方法有效)
db.execSQL("CREATE TABLE Reservations(username VARCHAR, parkingname VARCHAR, date VARCHAR, timeslot VARCHAR);");
现在每当我尝试
List<List<String>> values = database.getReservations(username);
text = (TextView) findViewById(R.id.myreservations);
if(!values.isEmpty()) {
String b = String.valueOf(values.size());
List<String> lista = values.get(0); //crashes here
String a = lista.get(0);
text.setText(b + a);
}
应用程序崩溃
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myparking/com.example.myparking.MyReservations}: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
【问题讨论】: