在那裏,我是Android編程的新手,我有一個學校的任務來分析一些項目。所以,我從github上選擇了一個名爲pTune的Guitar Tuner項目(鏈接:here)。
我已經閱讀了代碼並分析了它,從我所閱讀的內容中可以看到有一根帶弧度計的針,以查看輸入聲音(吉他聲音)是否合適。
在該項目中,我想顯示吐司,如果調整過程適合撥號90度。所以,我添加此吐司,但其不顯示..在公共課中添加對應於任何事件的Toast
if (relativeFrequency == targetFrequency){
Toast.makeText(PTuneActivity.this, "FIT", Toast.LENGTH_SHORT).show();
}
放在updateDisplay類代碼,我已經把它放在其他類,但仍然沒有工作,因爲我想要的。
public void updateDisplay(float frequency) {
// Calculate difference between target and measured frequency,
// given that the measured frequency can be a factor of target.
float difference = 0;
if (frequency > targetFrequency) {
int divisions = (int) (frequency/targetFrequency);
float modified = targetFrequency * (float) divisions;
if (frequency - modified > targetFrequency/2) {
modified += targetFrequency;
divisions++;
}
difference = (frequency - modified)/(float) divisions;
} else {
// If target is greater than measured, just use difference.
difference = frequency - targetFrequency;
}
float relativeFrequency = targetFrequency + difference;
// Update TextView
if (relativeFrequency < 1000f)
t.setText(String.format("%.1f Hz", relativeFrequency));
else
t.setText(String.format("%.2f kHz", relativeFrequency/1000));
//My code
if (relativeFrequency == targetFrequency){
Toast.makeText(PTuneActivity.this, "FIT", Toast.LENGTH_SHORT).show();
}
// Update DialView
float value = difference/(targetFrequency/2) * 90;
dial.update(value);
}
我知道這在實際實現中沒用,但我想學習android編程。
我想這兩個都是'float'值。你確定在某一時刻他們將會是'=='? –
'relativeFrequency'將始終大於'targetFrequency + difference'? – t0mm13b
是啊,它的浮動,但同時我鍵入=而不是==它提供了一個錯誤 – Few