Boa Noite, Meu FormularioAlunoActivity.java não reconhece nome, telefone e email. Copiei o mesmo código disponibilizado na aula 04-Apresentando aluno na lista e não consigo fazer reconhecer. O que posso ter errado?
Boa Noite, Meu FormularioAlunoActivity.java não reconhece nome, telefone e email. Copiei o mesmo código disponibilizado na aula 04-Apresentando aluno na lista e não consigo fazer reconhecer. O que posso ter errado?
Tente fazer dessa forma: @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);
finish();
Aluno alunoCriado = criaAluno();
salva(alunoCriado);
}
Boa Noite. A sugestão resolveu o primeiro problema mas deixou outras variáveis vermelhas sem reconhecer. FormularioAlunoActivity
package br.com.alura.agenda.ui.activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;
import br.com.alura.agenda.AlunoDAO.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);
final AlunoDAO dao = new AlunoDAO();
// restante do código
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);
finish();
Aluno alunoCriado = criaAluno();
salva(alunoCriado);
startActivity(new Intent(FormularioAlunoActivity.this,
ListaAlunosActivity.class));
}
});
}
}
Aluno.java
package br.com.alura.agenda.model;
import androidx.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) {
this.nome = nome;
this.telefone = telefone;
this.email = email;
}
@NonNull
@Override
public String toString() {
return nome;
}
}
Olá Laura, não sei se ainda precisa da solução, mas ao que parece o seu código está faltando a parte de atribuir os valores nas variáveis "campoNome", "campoTelefone" e "campoEmail" pegando os EditTexts, meu código está em Kotlin mas vou mostrar como eu fiz: (Deixei abaixo do meu código o exemplo em Java para você ver como colocar no seu projeto.)
class FormularioAlunoActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_formulario_aluno)
val dao = AlunosDao()
/* Faltou essa parte - No seu projeto está escrito: // restante do código
val campoNome: EditText = findViewById(R.id.acitivity_formulario_aluno_nome)
val campoTelefone: EditText = findViewById(R.id.acitivity_formulario_aluno_telefone)
val campoEmail: EditText = findViewById(R.id.acitivity_formulario_aluno_email)
*/
val btnSalvar: Button = findViewById(R.id.activity_formulario_aluno_salvar)
btnSalvar.setOnClickListener {
val nome = campoNome.text.toString()
val telefone = campoTelefone.text.toString()
val email = campoEmail.text.toString()
val alunoCriado = Aluno(nome, telefone, email)
dao.salva(alunoCriado)
startActivity(Intent(this, MainActivity::class.java))
}
}
}
Como está usando a linguagem Java ficaria:
final EditText campoNome = findViewById(R.id.acitivity_formulario_aluno_nome)
final EditText campoTelefone = findViewById(R.id.acitivity_formulario_aluno_telefone)
final EditText campoEmail = findViewById(R.id.acitivity_formulario_aluno_email)
Espero ter ajudado, bons estudos!
Boa Noite, Muito obrigada pela atenção!
Sua sugestão resolveu meu problema.