1
我目前在我的應用程序中使用了一對搜索欄。有2個給我帶來麻煩。我將這兩個查找條的最大值設置爲10.Android java:正確使用seekbar的progressValue
我將使用seekbars的值在我的代碼中更改2個數字。
所以基本上,我有2個變量有一個範圍。一種是蛋白質模型,可以是0.8到1.0之間的任何值,fatmod可以是0.3到0.6之間的任何值。我從搜索條採取progressValue和值轉換爲存儲爲雙百分比,然後該幹嘛方程
proteinmod = proteinmod = 0.8+(progressValue/10)*0.2;
fatmod = 0.3+(progressValue/10)*0.3;
我的問題:的seekbars只有半功能。當一直走到左邊時,它們是預期範圍的最小值 - 但保持該值直到seekbar完全超出,然後proteinmod和fatmod被設置爲最大值。我試着設置一個等於進度值的textview並在不同的位置測試它,並且progressValue確實工作正常。但由於某些原因,這些mod值不會在我想要的範圍內的其他地方假設值。這是我的代碼。提前感謝你!
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
}
});
我相信這應該是您需要的所有代碼,但如果您需要其他位,請隨時詢問。
哦,非常感謝你!修正它正是我想要的。 我一直認爲,如果你做了一個整數和一個雙數的數學,整數將用於它的雙重對手。感謝您解決這個問題! –