2
respostas

Erro BaseAdapter() na opção getView

Bom dia, No BaseAdapter() na opção getView, ao criar o inflate, apresenta um erro e solicitado a criação de uma field ViewGroup. Criei a field ViewGroup, mas na execução ele não ficou igual o demonstrado no vídeo. Continua aparecendo a lista mas sem o telefone. Não entendi, o motivo dele criar esse field.

    private void configuraAdapter(ListView listaDeAluno) {
        adapter = new ArrayAdapter<>(
                this,
                R.layout.item_aluno);
        listaDeAluno.setAdapter(new BaseAdapter() {
            private final List<Aluno> aluno = new ArrayList<>();
            @Override
            public int getCount() {
                return aluno.size();
            }

            @Override
            public Aluno getItem(int position) {
                return aluno.get(position);
            }

            @Override
            public long getItemId(int position) {
                return aluno.get(position).getId();
            }

            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                View ViewCriada = LayoutInflater
                        .from(ListaAlunoActivity.this)
                        .inflate(R.layout.item_aluno,ViewGroup);
                return ViewCriada;
            }
        });
    }
2 respostas

Olá Rafael, tudo bem com você?

Aparentemente, o seu código está correto. Eu não tenho certeza se tem relação com o erro, mas a usa variável viewCriada está em maiúsculo: ViewCriada

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View ViewCriada = LayoutInflater
        .from(ListaAlunoActivity.this)
        .inflate(R.layout.item_aluno,ViewGroup);
    return ViewCriada;
}

Eu vou fazer alguns testes aqui, mas será que poderia ser essa a causa do erro?

Testa aí e depois me avisa se resolveu! ;)

Use .inflate(R.layout.item_aluno, parent);

No caso do professor ele usa viewGroup pois está assim ViewGroup viewGroup