私は下部にタイマーを制御するSeekbarを持っています。私がシークバーを動かすと、なぜ値が10進数で表示されないのでしょうか?ここでなぜ小数点はありませんか?
はコードがあなたの分と秒int
として宣言された変数を持って
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として定義されます。任意の10進値を保持していますか?また、secondsを 'progress%60'に設定することもできます。それが速いのかどうかは分かりませんが、それが何をしているのかを見るのは簡単です。 –
私はdoubleに変更しようとしましたが、0.0から1.0、次に2.0になります – Junaid
進捗状況がintであるようですので、最も近い秒より正確な方法があるとは思いません:https:// developer.android.com/reference/android/widget/SeekBar.OnSeekBarChangeListener.html –