Estoy usando adaptador personalizado que extiende el adaptador de cursor para mostrar datos en listview, para mostrar un número de teléfono particular he pasado el id a un método en la clase de base de datos pero está mostrandoandroid.database.CursorIndexOutOfBoundsException: Índice 0 solicitado, con un tamaño de 0
errorandroid.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0
mientras se coloca en el depurador el método no se va después de la línea
num = cursor.getString(cursor.getColumnIndex("ContactNumber"));
puede cualquiera que me ayude a resolverlo. Este es el código:
public String getNumberFromId(int id)
{
String num;
db= this.getReadableDatabase();
Cursor cursor = db.query(scheduletable, new String[] { "ContactNumber" },"_id="+id, null, null, null, null);
cursor.moveToFirst();
num = cursor.getString(cursor.getColumnIndex("ContactNumber"));
cursor.close();
db.close();
return num;
}
este código funciona para mí ... Sí que quería exactamente eso. –
Este código se bloqueará en cursor.close() si el cursor es nulo. – Mark
¿Es igualmente bueno comprobar 'if (cursor.getCount()! = 0)'? –