В настоящее время я использую пару прошивок в своем приложении. У меня 2 проблемы. У меня есть максимальные значения обоих этих указателей поиска, равные 10.Android java: Правильно работает прогресс поисковой системы.
Я буду использовать значение поисковых знаков, чтобы изменить 2 числа в моем коде.
Итак, у меня есть две переменные, имеющие диапазон. Один из них представляет собой белковый мод и может быть где угодно от 0,8 до 1,0, и жирный жир, который может находиться где угодно между 0,3 и 0,6. Я беру progressValue из SeekBar и преобразования этого значения в проценты, хранящихся в двойном, а затем делать уравнения
proteinmod = proteinmod = 0.8+(progressValue/10)*0.2;
fatmod = 0.3+(progressValue/10)*0.3;
моим вопроса: В seekbars является только пол-функциональным. Когда все пути влево, они являются минимальным значением диапазона, как ожидалось, - но оставайтесь на этом значении до тех пор, пока стрелка не будет полностью отключена, а затем белковый мотив и жир будут установлены там максимум. Я попытался установить текстовое изображение, равное значению прогресса, и протестировать его на разных позициях, и progressValue действительно работает правильно. Но по некоторым причинам эти значения мод не будут принимать значения где-либо еще между диапазоном, который я бы хотел. Вот мой код. Огромное спасибо заранее!
double proteinmod = 0;
double fatmod = 0;
seekbar2.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progressValue, boolean fromUser) {
proteinmod = 0.8+(progressValue/10)*0.2;
tv6.setText(String.valueOf(proteinmod));
updateOutput();
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
});
seekbar3.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progressValue, boolean fromUser) {
fatmod = 0.3+(progressValue/10)*0.3;
tv6.setText(String.valueOf(fatmod));
updateOutput();
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
});
Я считаю, что это должно быть весь код, вам нужно, но если вам нужны другие биты, пожалуйста, не стесняйтесь спрашивать.
О, черт возьми, большое спасибо! Исправлено так, как я хотел. Я всегда думал, что если вы сделали математику с целым числом и двойным, целое число будет использоваться в двойном эквиваленте. Спасибо, что поняли! –