1
resposta

Colocar índice da lista ao invés do alunoId

private ListView listaAlunos;
private void carregaLista() {
        AlunoDAO dao = new AlunoDAO(this);
        List<Aluno> alunos = dao.buscaAlunos();
        dao.close();


        // O Adapter chama o ToString dos Objetos
        // então se minha classe Aluno não tiver um ToString para
        // descrever um aluno, o Adapter vai chamar
        // o ToString da Classe Object do java
        ArrayAdapter<Aluno> adapter = new ArrayAdapter<Aluno>(this, android.R.layout.simple_list_item_1, alunos);
        listaAlunos.setAdapter(adapter);
    }
@Override
    public String toString() {

        return getId() + " - " + getNome();
    }

Como eu faria pra ao invés de concatenar o ID do Aluno, concatenar a posição dele na lista + o nome? Porque se eu tiver 2 alunos e deletar o primeiro da lista, a lista atualiza e fica "2 - Aluno". Quero que ela atualize com o índice do item na lista, ou talvez até ordenar por nome.. Aí já imagino que eu teria que mudar o dao.buscaAlunos() Eu dei uma pesquisada na documentação sobre o setAdapter() e como ele funciona mas não me parece que a solução seja por ele. Obrigado!

1 resposta

Fala ai Daniel, de boa?

Da forma que estamos fazendo nesse momento não é possível.

O que podemos fazer, e iremos lá na frente, é criar um adapter personalizado.