Java 我无法删除sqlite中的日期

Java 我无法删除sqlite中的日期,java,android,sqlite,arraylist,cursor,Java,Android,Sqlite,Arraylist,Cursor,我有一个排除日期的问题,只有当它不是我的ArrayList中第一个元素的最后一个元素时才会发生 Why does this happen and how to solve? Example: | ID | : Gil <- problem deleting this line Rui <- problem deleting this line Ana <- no problem 错误导致我开始这一行: String nam = rs.getString(rs.get

我有一个排除日期的问题,只有当它不是我的ArrayList中第一个元素的最后一个元素时才会发生

Why does this happen and how to solve?
Example:
| ID |
  :
 Gil <- problem deleting this line
 Rui <- problem deleting this line
 Ana <- no problem
错误导致我开始这一行:

String nam = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_NAME));

您应该检查rs.moveToList()是否返回false

如果为false,则表示光标为空,因此当您尝试获取该值时,会出现android.database.CursorIndexOutOfBoundsException

您的getData(int)返回一个空游标,因为您给他的id没有记录

要删除arrayList更改中的数据,请执行以下操作:

array_list.add(res.getString(res.getColumnIndex(CONTACTS_COLUMN_NAME)));
作者:

然后,如果要删除联系人,请使用:

 array_list.remove(idDelete);

您应该检查rs.moveToList()是否返回false

如果为false,则表示光标为空,因此当您尝试获取该值时,会出现android.database.CursorIndexOutOfBoundsException

您的getData(int)返回一个空游标,因为您给他的id没有记录

要删除arrayList更改中的数据,请执行以下操作:

array_list.add(res.getString(res.getColumnIndex(CONTACTS_COLUMN_NAME)));
作者:

然后,如果要删除联系人,请使用:

 array_list.remove(idDelete);

我认为在数据库中,“id”被删除了,但不在arraylist中,但不确定我认为错误在这里,因为您试图在数据库中获取不存在的特定id的记录。因此,如果不检查光标是否为空,有时会在这一行上出现android.database.CursorIndexOutOfBoundsException:String nam=rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_NAME));我最好捕获数据库中的元素,然后在我的arrayList中显示…我认为在数据库中,“id”被删除,但不在arrayList中,但不确定我认为错误在这里,因为您试图在数据库中获取不存在的特定id的记录。因此,如果不检查光标是否为空,有时会在这一行上出现android.database.CursorIndexOutOfBoundsException:String nam=rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_NAME));我最好捕获数据库中的元素,然后显示在我的arrayList中。。。
 array_list.remove(idDelete);