3
respostas

Entro no Formulário mas não volta para a Lista

Quando o FormularioAlunoActivity era o launcher tudo estava funcionando certinho, digitava os dados e ele me jogava de volta ao ListaAlunoActivity.

Mas depois das alterações dos três primeiros minutos da aula "05 - Finalizando fluxo do App" eu inicio na tela Lista (vazia), clico no botão "+", abre o Formulario, digito tudo, clico em "Salvar" e nada acontece.

Alguém sabe o que eu fiz de errado sendo que não mexi no FormularioAlunoActivity?

Manifest

ListaAlunosActivity

FormularioAlunoActivity

3 respostas

Olá João, tudo bem?

Poderia enviar o link do seu projeto no github ? Assim a gente consegue analisar com mais facilidade :)

Qualquer dúvida estarei à disposição.

Não sei se fiz certo, nunca usei o git antes:

https://github.com/DonVioli/APP_Agenda

Opa joão, tudo bem?

Testei com seus códigos e todos eles funcionaram muito bem, se não tiver utilizado o git antes fica tranquilo, só enviar os códigos por aqui mesmo como texto, sobre o seu problema, talvez seja interessante você tentar mudar o aparelho virtual que está tentando realizar os testes, vou deixar aqui os códigos que utilizei:

Aluno

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

    public Aluno(String nome, String telefone, String email) {
        this.nome = nome;
        this.telefone = telefone;
        this.email = email;
    }
    @NonNull
    @Override
    public String toString() {
        return nome;
    }
}

FormularioAlunoActivity

public class FormularioAlunoActivity extends AppCompatActivity {

    public static final String TITULO_APPBAR = "Novo aluno";
    private EditText campoNome;
    private EditText campoTelefone;
    private EditText campoEmail;
    final AlunoDAO dao = new AlunoDAO();

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

        final AlunoDAO dao = new AlunoDAO();

        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);

        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();

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

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

}

ListaAlunosActivity

public class ListaAlunosActivity extends AppCompatActivity {

    public static final String TITULO_APPBAR = "Lista de alunos";
    final AlunoDAO dao = new AlunoDAO();

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

        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));
            }
        });

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

Estarei à disposição para qualquer coisa :)

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