Livro 2 - Projeto da Mini-Calculadora
7. Adicionado a Lógica da Aplicação
7.5. Implementação da interface SeekBarListener
De acordo com a iteração do usuário, o tratamento de eventos de uma SeekBar dispara três métodos: onProgressChanged, onStartTrackingTouch e onStopTrackingTouch. Para o nosso caso, é necessário implementar apenas o primeiro, o resto fica em branco. Assim, a se mover a barra de progresso o programa deve atualizar o novo valor da porcentagem. Contudo, lembre que o valor da barra de progresso na SeekBar varia de 0 a 30, assim o novo valor de porcentagem deve receber o valor inteiro da barra de progresso e converter em %, isto é, dividir por 100. Por fim, invoca-se o método calculate() para refazer os cálculos da aplicação.
private final SeekBar.OnSeekBarChangeListener seekBarListener = new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
//atualiza o valor da porcentagem com o novo valor selecionado
percent = i/100.0;
//mostrar o valor da porcentagem atualizado na tela
percentTextView.setText(percentFormat.format(percent));
//manda (re)calcular os valores
calculate();
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {}
};