1
resposta

Botão salvar não funciona

Ao clicar no botão salvar não aparece o nome/telefone/email preenchidos, não acontece nada. Notei que ao inserir a linha " botaoSalvar.setOnClickListener(new View.OnClickListener() { " o new fica cinza e não laranja igual a da aula.

Segue código

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

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

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

        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_botão_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);
                Toast.makeText(FormularioAlunoActivity.this,
                        alunoCriado.getNome() + " - "
                                + alunoCriado.getTelefone() + " - "
                                + alunoCriado.getEmail(), Toast.LENGTH_SHORT).show();
            }
        });
    }
}
1 resposta

Fala Djalma de boa?

Cara olhando por cima, parece estar tudo certo.

Alguns pontos de atenção, a galera não costuma usar caracteres especias, tipo ~ no xml, isso pode estar zoando de alguma forma o restante.

O fato de estar cinza é que a ide está mais esperta e evitando mostrar código boilerplate, ou seja, aquele código que sempre se repete, além disso com o suporte pra kotlin, essas interfaces quase estão sem ser declaradas com o new, estão usando bastante do conceito de SAM (Single Abstract Method), que permite colocar apenas um lambda com a execução do método.