1
resposta

IntValue x (int)

Na atividade 03 aula 05 é indicado o uso do método IntValue para transformar os dados da nota de double para integer.

Entretanto, por algum motivo que desconheço, não consegui usar este método e acabei fazendo um parser:

        campoNota.setProgress(((int) aluno.getNota()));

Deu certo, mas estou aqui pensando se fiz algo errado que não consegui usar o IntValue, ou se é alguma questão de versão, estou usando o Android Studio 2.3.2.

Estou no curso "Android I: Crie sua APP Fantástica com Android Studio"

Muito obrigada :)

1 resposta

Olá Loreane,

Para utilizar o método intValue(), o atributo nota da classe Aluno precisa ter sido declarada com o tipo Double (repare que não estamos utilizando o tipo primitivo double e sim a classe Double).

Quando declaramos o atributo como double, dizemos que aquele atributo guarda apenas o valor da nota. Já quando declaramos a nota como Double, agora o atributo guarda uma referência para um objeto do tipo Double. Nesse caso, como nota é uma referência para um objeto, podemos invocar o método intValue() que converte o valor da nota de double para int.

Se você for fazer a alteração na classe Aluno, lembre-se de alterar também o getter e o setter da nota. No getter você vai precisar trocar o tipo de retorno para Double. No setter, você vai precisar trocar o parâmetro também para Double.