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) の場合、最初の 1 秒でジェスチャを認識しますが、一撃では認識しません。

理由はありますか?

4

1 に答える 1

1

と比較しないでください。それはおそらくあなたの問題です。を比較するには、次の方法を使用します。Strings==Strings.equals()if (s.equals(prediction.name))

つまり、 は==参照を比較しますが、.equals()実際には の内容を比較しStringsます。もっと詳しく説明しますが、多くのスレッドで取り上げられています

于 2013-07-25T12:12:17.867 に答える