Я думаю, что вы пытаетесь достичь с помощью кнопки переключения, так это вычислить предварительный налог, если переключатель включен. Вместо того, чтобы устанавливать прослушиватель переключателя на прослушиватель щелчков calcButton, вы должны вычислить предварительный налог внутри него, если переключатель включен. См. Пример кода ниже. Я также внес некоторые незначительные изменения, чтобы сделать logi c короче.
Замените это:
overtimeSwitch.setChecked(true);
overtimeSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked){
if(isChecked){
if(hoursWorked > 40){
preTax = (40 * hourlyWage) + ((hoursWorked - 40) * hourlyWage * 1.5); // these variables
} else{
preTax = hourlyWage * hoursWorked; // these variables
}
}else{
preTax = hourlyWage * hoursWorked; // these variables
}
}
});
На это.
double pretax = 0.0;
Boolean isSwitchOn = overtimeSwitch.isChecked();
if (isSwitchOn && hoursWorked > 40) { // compute the pretax
preTax = (40 * hourlyWage) + ((hoursWorked - 40) * hourlyWage * 1.5);
} else {
preTax = hourlyWage * hoursWorked;
}