2017-02-27 85 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

相关问题