rawQuery の結果を収集する配列があります。完全に機能しますが、結果が1つしかない場合、この例外がスローされます。
public String [][] getList() {
SQLiteDatabase db = this.getWritableDatabase();
String [][] data;
Cursor c = db.rawQuery("SELECT nombre FROM productos GROUP BY " +
"nombre ORDER BY nombre", null);
if (c.moveToFirst()) {
data = new String[c.getCount()][1];
int i = 0; char last = 1;
do {
data[i][0]=c.getString(c.getColumnIndex("nombre"));
if(data[i][0].charAt(0)!=last) {
char [] a = {data[i][0].charAt(0)};
String b = new String(a);
data[i][1]=b;
last = a[0];} else {
data[i][1]=null;
}
i++;
} while ( c.moveToNext());
db.close();
return data;
}
data=new String[1][1]; data[0][0]="-1";
db.close();
return data;
}
このメソッドは、区切り記号付きの listView を作成するために必要な情報を Custom List Adapter に提供します (そのため、2 列目に文字を使用しています)。手伝って頂けますか?