Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Não mostra a lista de alunos após modificações.

Fiz como na vídeo aula, porém quando eu executo não está mostrando a minha lista de alunos. Meu código após as modificações com o uso do Generics no AsyncTask.

package br.com.newagenda.asynctask;

import android.os.AsyncTask;

import java.util.List;

import br.com.newagenda.database.dao.AlunoDAO;
import br.com.newagenda.model.Aluno;
import br.com.newagenda.ui.adapter.ListaAlunosAdapter;

public class BuscaAlunoTask extends AsyncTask<Void, Void, List<Aluno>> {

    private final AlunoDAO dao;
    private final ListaAlunosAdapter adapter;

    public BuscaAlunoTask(AlunoDAO dao, ListaAlunosAdapter adapter) {
        this.dao = dao;
        this.adapter = adapter;
    }

    @Override
    protected List<Aluno> doInBackground(Void[] objects) {

        return dao.todos();
    }

    @Override
    protected void onPostExecute(List<Aluno> todosAlunos) {
        super.onPostExecute(todosAlunos);
        adapter.atualiza(todosAlunos);

    }
}

3 respostas

Também não apareceu pra mim o mesmo erro que apareceu na vídeo aula no seu código, quando o senhor tenta acessar o formulário e volta, o erro: CalledFromWrongThreadException não apareceu pra mim, somente aparecia um erro quando eu tentava clicar em algum aluno da lista, e esse erro era referente a UI Thread. Fiquei na dúvida do porquê disso, visto que eu fiz tudo igualzinho ao seu exemplo.

Mesmo com esse probleminha, eu prosseguir com as demais aulas do curso, implementei os Tasks das próximas etapas como do telefone e da remoção do aluno. Quando eu executo, a lista não aparece no primeiro momento, porém se eu tentar criar um aluno, ele não o cria, mas a lista de alunos me é mostrada novamente, essa foi uma maneira que descobrir sem querer que a lista de alunos aparece logo quando eu tento add outro aluno. Sendo assim creio que o código esta correto, só não entendi ainda porque nao esta mostrando a lista quando eu executo o app.

solução!

Oi Clecio, tudo bem?

Apenas vendo a implementação da AsyncTask não é possível identificar o motivo do problema, pois pode estar relacionado ao código que chama a AsyncTask, pode compartilhar o seu projeto via GitHub por favor?

Caso tenha dúvidas sobre como compartilhar o projeto via GitHub, dê uma olhada neste tutorial da Alura+.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software