当我尝试在类中使用set()函数时出错

时间:2019-05-17 08:47:39

标签: java android nullpointerexception

我有一个包含4个Calendar变量的类:

public class Ponto {
    Calendar entrada;
    Calendar saidaAlmoco;
    Calendar entradaTarde;
    Calendar saida;

    public Ponto(Calendar entrada, Calendar saidaAlmoco, Calendar entradaTarde, Calendar saida) {
        this.entrada = entrada;
        this.saidaAlmoco = saidaAlmoco;
        this.entradaTarde = entradaTarde;
        this.saida = saida;
    }

    public void setEntrada(Calendar entrada) {
        this.entrada = entrada;
    }

    public void setSaidaAlmoco(Calendar saidaAlmoco) {
        this.saidaAlmoco = saidaAlmoco;
    }

    public void setEntradaTarde(Calendar entradaTarde) {
        this.entradaTarde = entradaTarde;
    }

    public void setSaida(Calendar saida) {
        this.saida = saida;
    }
}

然后,当我尝试通过set()函数发送值时,出现错误:

Attempt to invoke virtual method 'void pt.eu.metaloapp.Ponto.setEntrada(java.util.Calendar)' on a null object reference;

这是代码:

Calendat picagem = Calendar.getInstance();
String hora = sdf.format(picagem.getTime()) + "h";

switch (verificarPonto()) {
      case 1:
         txtHoraEntrada.setText(hora);
         ponto.setEntrada(picagem);
         break;
      case 2:
         txtHoraSaidaAlmoco.setText(hora);
         ponto.setSaidaAlmoco(picagem);
         break;
      case 3:
         txtHoraEntradaTarde.setText(hora);
         ponto.setEntradaTarde(picagem);
         break;
      case 4:
         txtHoraSaida.setText(hora);
         ponto.setSaida(picagem);
         break;
       }

将Calendar值发送到类或其他东西时有问题吗?

1 个答案:

答案 0 :(得分:1)

您需要在某个地方调用新的Ponto(),代码中pontonull