Minha aplicação estava em total funcionamento até a aula 3 (ele chamava duas telas e preenchia dados em um formulário com botões customizados) mas após o 1º vídeo da aula 4, aonde criamos a classe Aluno e FormularioHelper e aquela taost com o nome do aluno cadastrado, a aplicação para de funcionar. Vale dizer que a aplicação não acusa erro ao compilar o código em nenhum momento e só ocorre o Break do programa (parando de funcionar) quando o aplicativo passa a executar o botão salvar na tela FormularioActivity. Já revisei o código e ele está igual ao do vídeo. Segue o código pra analise. ``` Classe Aluno: package com.tales.agenda.Model; public class Aluno { private Long id; private String nome; private String endereco; private String telefone; private String site; private Double nota;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public String getNome() { return nome; }
public void setNome(String nome) { this.nome = nome; }
public String getEndereco() { return endereco; }
public void setEndereco(String endereco) { this.endereco = endereco; }
public String getTelefone() { return telefone; }
public void setTelefone(String telefone) { this.telefone = telefone; }
public String getSite() { return site; }
public void setSite(String site) { this.site = site; }
public Double getNota() { return nota; }
public void setNota(Double nota) { this.nota = nota; } }
Classe FormularioActivity package com.tales.agenda; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.widget.Toast; import com.tales.agenda.Model.Aluno;
public class FormularioActivity extends AppCompatActivity {
private FormularioHelper helper;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_formulario); helper = new FormularioHelper(this); }
@Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu_formulario, menu); return super.onCreateOptionsMenu(menu); }
@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menu_formulario_ok: Aluno aluno = helper.pegaAluno(); Toast.makeText(FormularioActivity.this, "Aluno" + aluno.getNome() + "salvo!", Toast.LENGTH_SHORT).show();
finish(); break; }
return super.onOptionsItemSelected(item); } }
Classe FormularioHelper package com.tales.agenda; import android.widget.EditText; import android.widget.RatingBar; import com.tales.agenda.Model.Aluno;
public class FormularioHelper { private EditText campoNome; private EditText campoEndereco; private EditText campoTelefone; private EditText campoSite; private RatingBar campoNota;
public FormularioHelper(FormularioActivity activity) { campoNome = (EditText) activity.findViewById(R.id.formulario_nome); campoEndereco = (EditText) activity.findViewById(R.id.formulario_endereco); campoTelefone = (EditText) activity.findViewById(R.id.formulario_telefone); campoSite = (EditText) activity.findViewById(R.id.formulario_site); campoNota = (RatingBar) activity.findViewById(R.id.formulario_nota); }
public Aluno pegaAluno() { Aluno aluno = new Aluno (); aluno.setNome(campoNome.getText().toString()); aluno.setEndereco(campoEndereco.getText().toString()); aluno.setTelefone(campoTelefone.getText().toString()); aluno.setSite(campoSite.getText().toString()); aluno.setNota(Double.valueOf(campoNota.getProgress())); return aluno; } }