Olá. Estou com um problema muito estranho. No looping onde eu monto a List dos alunos que busquei na tabela, o objeto Aluno é criado apenas uma vez e reutilizado, mesmo eu instanciando ele novamente.
public List<Aluno> buscaAlunos() {
String sql = "SELECT * FROM ALUNOS";
SQLiteDatabase db = getReadableDatabase();
Cursor c = db.rawQuery(sql, null);
List<Aluno> alunos = new ArrayList<Aluno>();
while (c.moveToNext()) {
Aluno aluno = new Aluno(); // esse objeto é instanciado apenas uma vez! Ajudem!!!
aluno.setId(c.getLong(c.getColumnIndex("ID")));
aluno.set_nome(c.getString(c.getColumnIndex("NOME")));
aluno.set_endereco(c.getString(c.getColumnIndex("ENDERECO")));
aluno.set_telefone(c.getString(c.getColumnIndex("TELEFONE")));
aluno.set_site(c.getString(c.getColumnIndex("SITE")));
aluno.set_nota(c.getFloat(c.getColumnIndex("NOME")));
alunos.add(aluno);
}
c.close();
return alunos;
}
Quanto começo a debugar o projeto, tenho 3 registros no banco de dados. O primeiro é associado ao Objeto 'aluno' sem nenhum problema, mas na segunda iteração, o android não instancia um novo objeto aluno, mas continua utilizando o mesmo, substituindo os valores do 1° registro pelo segundo, e assim sucessivamente, listando no ListView principal apenas o ultimo registros diversas vezes.
Alguem sabe o por quê do Android não estar instanciando um novo objeto aluno ao invez de usar o mesmo?