2013-07-25 65 views
0

我正在學習如何使用手勢生成器來識別手勢並在開發中使用它們。使用手勢控制

這是我的代碼片段:

public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) { 
    ArrayList<Prediction> predictions = oLib.recognize(gesture); 
    // We want at least one prediction 
    final EditText et_Text = (EditText) findViewById(R.id.editText1); 
    if (predictions.size() > 0) { 
     Prediction prediction = predictions.get(0); 
     if (prediction.score > 0.1) { // do the work 
      //Toast.makeText(this, prediction.name, Toast.LENGTH_SHORT) 
        //.show(); 
      String s ="o"; 
      if (prediction.name == s) { 



       et_Text.setText("o"); 
       Toast.makeText(this, "TEST", Toast.LENGTH_SHORT) 
       .show(); 
      } 

     } 

    } 
} 

我得到了名爲o的姿態和理念是,當我作出這樣的姿態,將在EditText上O型,但我不能弄清楚爲什麼它dosent做只是 ?

如果(得分> 0.1)在第一秒識別到手勢,但不在一次擊中。

任何想法爲什麼?

回答

1

不是比較Strings==;這很可能是你的問題。爲了比較Strings,使用.equals()方法,又名:if (s.equals(prediction.name))

總之,==比較基準,而.equals()Strings的內容其實比較。我會更詳細地介紹它,但它已被覆蓋在許多線程中,for example