3
respostas

Não retorna o os dados do Aluno e sim um ID

ListaAlunosActivity.java

package br.com.alura.agenda.ui.activity;

import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import br.com.alura.agenda.DAO.AlunoDAO;
import br.com.alura.agenda.R;

public class ListaAlunosActivity extends AppCompatActivity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_lista_alunos);



        setTitle("Lista de alunos");

        FloatingActionButton botaoNovoAluno = findViewById(R.id.activity_lista_alunos_fab_novo_aluno);
        botaoNovoAluno.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                startActivity(new Intent(ListaAlunosActivity.this,
                        FormularioAlunoActivity.class));

            }
        });

    }

    @Override
    protected void onResume() {
        super.onResume();

        AlunoDAO dao = new AlunoDAO();

        ListView listaDeAlunos = findViewById(R.id.activity_lista_alunos_listview);
        listaDeAlunos.setAdapter(new ArrayAdapter<>(
                this,
                android.R.layout.simple_list_item_1,
                dao.todos()));
    }
}
FormularioAlunoActivity.java

package br.com.alura.agenda.ui.activity;

import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText;

import br.com.alura.agenda.DAO.AlunoDAO; import br.com.alura.agenda.R; import br.com.alura.agenda.model.Aluno;

public class FormularioAlunoActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_formulario_aluno);


    /// CRIA ALUNO DAO ///
    final AlunoDAO dao = new AlunoDAO();

    ///////////// CAMPOS DE EDIÇÃO /////////////////////
    // quando as variaveis sao locais é necessario ser final //

    final EditText campoNome = findViewById(R.id.activity_formulario_aluno_nome);
    final EditText campoTelefone = findViewById(R.id.activity_formulario_aluno_telefone);
    final EditText campoEmail = findViewById(R.id.activity_formulario_aluno_email);


    /////////////////// DECLARANDO A FUNÇÃO DO BOTAO ////////////////////////

    Button botaoSalvar = findViewById(R.id.activity_formulario_aluno_botao_salvar);
    botaoSalvar.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            String nome = campoNome.getText().toString();
            String telefone = campoTelefone.getText().toString();
            String email = campoEmail.getText().toString();


            //Indicação que vamos criar uma classe///

            Aluno alunoCriado = new Aluno(nome, telefone, email);
            dao.salva(alunoCriado);


            finish();

        }

    });


}

}

Aluno.java

package br.com.alura.agenda.model;

import android.support.annotation.NonNull;

public class Aluno { private final String nome; private final String telefone; private final String email;

public Aluno(String nome, String telefone, String email) {

// bind... crtl+alt+enter cria os campos

    this.nome = nome;
    this.telefone = telefone;
    this.email = email;
}

        @NonNull

           public String toSting() {
               return nome;

} }

AlunoDAO.java 

package br.com.alura.agenda.DAO;

import java.util.ArrayList; import java.util.List;

import br.com.alura.agenda.model.Aluno;

public class AlunoDAO {

    private final static List<Aluno> alunos = new ArrayList<>();

    public void salva(Aluno alunoCriado) {

        alunos.add(alunoCriado);


    }


        public List<Aluno> todos() {
        return  new ArrayList<> (alunos);

        }

} `

3 respostas

Oi Ingrid, tudo bem?

Com base no seu código eu acredito que o problema esteja na implementação e sobrescrita do toString(), na mostra está assim:

@NonNull

public String toSting() {
    return nome;
} 

Observe que está com erro de digitação no nome do método, é pra ficar da seguinte maneira:

@NonNull
@Override
public String toString() {
    return nome;
} 

Faça o ajuste e veja se aparece a informação de nome do aluno.

[]s

Muito obrigado, tem hora que eu nao consigo identificar as coisas <3

Normal, é muito comum erro de digitação em código :)

Tem mais alguma dúvida sobre esse tópico? Caso esteja tudo resolvido, pode marcar como solucionado, por favor?

[]s