0
我試圖根據用戶選擇使定時器等待時間發生變化。我的計時器正在工作,但設置時間的變量不是。等待時間的公式爲((60/bpm)*1000)-190
,bpm=60
爲810
這是正確的,但是當我在應用論壇中將bpm提高到61
時,給出-190
。爲什麼?作爲定時器等待時間的Android整數
定時器代碼:
metronomepp.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
Log.i("Metronome", ""+timetw);
//timetw=810;
if(isChecked) {
currentTask = new TimerTask() {
@Override
public void run() {
if (metronome.isPlaying()) { metronome.pause(); }
metronome.seekTo(0);
metronome.start();
}
};
myTimer.schedule(currentTask, 0, timetw);
} else {
currentTask.cancel();
}
}
});
Bpm increase and timetw change code:
plus.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
bpm++;
timetw=(60000/(bpm*1000))-190;
Log.i("PlusTW", ""+timetw);
Log.i("PlusBPM", ""+bpm);
curbpm.setText(""+bpm);
}
});
60/bpm是一個整數除法。 60/61 = 0.使用浮點數。 – njzk2 2013-03-15 09:46:48
我嘗試過,但它墜毀 – 2013-03-15 10:53:04
定義「墜毀」。並嘗試'timetw =(int)((60000.0 /(bpm * 1000.0)) - 190.0);'這應該使該部門使用浮動 – njzk2 2013-03-15 12:06:33