3
respostas

Qual o tipo que deve ser colocado para atributos double no metodo PreencheFormulario

Invés de fazer com alunos tentei fazer com Funcionarios e tentei fazer um cálculo básico do salario (salarioHora*HorasTrabalhadas) e na hora que o metodo preencheFormulario tenta preencher o campo tanto do SalarioHora quanto do HorasTrab ele da um erro na aplicação e fecha eu fiz o método da seguinte forma

public void preencheFormulario(Funcionario funcionario) {

        campoNome.setText(funcionario.getNome());
        campoTelefone.setText(funcionario.getTelefone());
        campoSalHora.setText(Double.toHexString(funcionario.getSalarioHora()));
        campoHorasTrab.setText(funcionario.getHorasTrab());
        this.funcionario = funcionario;
    }

Se poderem ajudar agradeço, tentei por conta própria descobrir como teria que passar o atributo, mas já to a um bom tempo parado nisso ':(

3 respostas

Aqui estão os Atributos e seus tipos

public class Funcionario implements Serializable {
    private Long cod;
    private String nome;
    private String telefone;
    private double salarioHora;
    private int horasTrab;
    private double salario;

    public Long getCod() {
        return cod;
    }

    public void setCod(Long cod) {
        this.cod = cod;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getTelefone() {
        return telefone;
    }

    public void setTelefone(String telefone) {
        this.telefone = telefone;
    }

    public double getSalarioHora() {
        return salarioHora;
    }

    public void setSalarioHora(double salarioHora) {
        this.salarioHora = salarioHora;
    }

    public int getHorasTrab() {
        return horasTrab;
    }

    public void setHorasTrab(int horasTrab) {
        this.horasTrab = horasTrab;
    }

    public double getSalario() {
        return salario;
    }

    public void setSalario(double salario) {
        this.salario = salario;
    }

Eu consegui, tive que colocar um String value of pro campo poder receber os dois dados.

public void preencheFormulario(Funcionario funcionario) {

        campoNome.setText(funcionario.getNome());
        campoTelefone.setText(funcionario.getTelefone());
        campoSalHora.setText(String.valueOf(funcionario.getSalarioHora()));
        campoHorasTrab.setText(String.valueOf(funcionario.getHorasTrab()));
        this.funcionario = funcionario;
    }

Sávio, de boa?

Quando passamos um int para o setText ele vai em busca de algum arquivo de texto na pasta res, assim como um id.

Podemos passar R.string.valor, isso devia fazer seu sistema quebrar.