首页 > 解决方案 > 当我尝试在类中使用 set() 函数时出错

问题描述

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

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

将日历值发送到班级或其他东西有什么问题吗?

标签: javaandroidnullpointerexception

解决方案


你需要在Ponto()某个地方调用 new ,pontonull你的代码中。


推荐阅读