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 但我不知道为什么它会这样做?

如果(分数> 0.1),它会在第一秒识别手势,但不会在一次打击中识别。

知道为什么吗?

4

1 回答 1

1

不要与;比较_ 这很可能是你的问题。要比较,请使用方法。,也就是:Strings==Strings.equals()if (s.equals(prediction.name))

简而言之,==比较引用,而.equals()实际上比较Strings. 我会更详细地介绍,但它已在许多线程中进行了介绍,例如.

于 2013-07-25T12:12:17.867 回答