Olá, não estou conseguindo salvar as edições ou criar aluno que estiver sem foto. Ao tentar essas funcionalidades é lançada uma exceção e minha aplicação para de rodar. O erro: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
Acredito que seja devido o uso do caminhoFoto que está nulo, mas tenho dúvida do que poderia colocar para deixar a foto padrão.
Este é meu FormularioHelper:
public class FormularioHelper {
private Aluno aluno;
private EditText campoNome;
private EditText campoEndereco;
private EditText campoTelefone;
private EditText campoSite;
private RatingBar campoNota;
private ImageView campoFoto;
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);
campoFoto = (ImageView) activity.findViewById(R.id.formulario_foto);
aluno = new Aluno();
}
public Aluno getAluno(){
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()));
aluno.setCaminhoFoto(campoFoto.getTag().toString());
return aluno;
}
public void preencheDados(Aluno aluno) {
campoNome.setText(aluno.getNome());
campoEndereco.setText(aluno.getEndereco());
campoTelefone.setText(aluno.getTelefone());
campoSite.setText(aluno.getSite());
campoNota.setProgress(aluno.getNota().intValue());
carregaFoto(aluno.getCaminhoFoto());
this.aluno = aluno;
}
public void carregaFoto(String caminhoFoto) {
if(caminhoFoto != null) {
Bitmap bitmap = BitmapFactory.decodeFile(caminhoFoto);
Bitmap bitmapResult = Bitmap.createScaledBitmap(bitmap, 300, 300, true);
campoFoto.setImageBitmap(bitmapResult);
campoFoto.setScaleType(ImageView.ScaleType.FIT_XY);
campoFoto.setTag(caminhoFoto);
}
}
}
Espero que me ajudem a solucionar o caso e desde já agradeço.