Android 为什么不是小数?
我有一个Seekbar,它控制底部的计时器。我很好奇,当我移动seek栏时,为什么值不是十进制的 这是代码Android 为什么不是小数?,android,android-studio,Android,Android Studio,我有一个Seekbar,它控制底部的计时器。我很好奇,当我移动seek栏时,为什么值不是十进制的 这是代码 public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.l
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SeekBar timeController = (SeekBar) findViewById(R.id.timeController);
final TextView tV = (TextView) findViewById(R.id.tV);
timeController.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
int minutes = progress / 60;
int seconds = progress - minutes*60;
tV.setText(String.valueOf(minutes) + ":" +String.valueOf(seconds) );
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
}
}
您将分钟和秒变量声明为
int
。将它们更改为double
以显示小数。将分钟和秒变量声明为int
。将它们更改为双精度以显示小数。它们被定义为整数。什么会保存任何十进制值?此外,您还可以将秒数设置为进度%60
。不确定它是否更快,但更容易看到它在做什么。我尝试过将它改为双精度,但它从0.0变为1.0,然后变为2.0。进度看起来是一个整数,所以我不确定有没有比最接近的秒更精确的方法:它们被定义为整数。什么会保存任何十进制值?此外,您还可以将秒数设置为进度%60
。不确定它是否更快,但更容易看到它在做什么。我尝试将它更改为double,但它从0.0变为1.0,然后变为2.0。看起来进度是一个整数,所以我不确定有没有比最近的一秒更精确的方法:我试过把它改成两倍,但从0.0改成1.0,然后2.0尝试让进度加倍,我试过把它改成两倍,但从0.0改成1.0,然后2.0尝试让进度加倍