2017-02-27 90 views
1

我試圖增加一個數字(i)每次相機和我的臉之間的距離在40釐米和80釐米之間。不幸的是,當它發生時,textview顯示(發生的數量是:50)。請幫助我間隔[40釐米; 80釐米]

public void update(final Messsage msg) {  
    for(int i = 0; i < 50; ++i) { 
     if (msg.getDistanceToFace() > 40 && msg.getDistanceToFace() < 80) { 
      textView.setText("The number of occurrence is: " + i); 
      textView.setTextColor(Color.GREEN); 
     } 
    } 
} 

回答

1

你應該添加一個break您設置的文本,編碼將設置文本爲我的所有迭代的方式後,但你只能看到最後一個(50)

1

如果你只想在面部距離一定的時候增加數量,你不應該在這方面做更多的事嗎?

public void update(final Messsage msg) { 
    int i = 0; 
    if (msg.getDistanceToFace() > 40 && msg.getDistanceToFace() < 80) { 
     i++; 
     textView.setText("The number of occurrence is: " + i); 
     textView.setTextColor(Color.GREEN); 
    } 
} 

也許你需要有i一個全局變量或函數參數,不知道有沒有更多的代碼。

如果你不希望i增加非常快(因爲每一個update函數被調用的時間增量和手機靠近臉部),一個簡單的代碼來做到這一點會是這樣的

public void update(final Messsage msg) { 
    boolean isCloseToFace = false; 
    int i = 0; 
    if (msg.getDistanceToFace() > 40 && msg.getDistanceToFace() < 80) { 
     if (!isCloseToFace) { 
      i++; 
      isCloseToFace = true; 
     } 
     textView.setText("The number of occurrence is: " + i); 
     textView.setTextColor(Color.GREEN); 
    } else { 
     isCloseToFace = false; 
    } 
} 
+0

謝謝你的回答。但它不停止直到臉部退出間隔。 –

+0

感謝您的回答。但它不停止增長。 ( –

+0

)如果你希望它停止增長,你將不得不爲此做一些邏輯,我會用一個例子來更新我的答案。 – Matthias

相關問題