1

我试图让这段代码工作:
http ://scanplaygames.com/?p=168 (也在stackoverflow上): 将GestureOverlayView添加到我的SurfaceView类,如何添加到视图层次结构?

我运行了代码并添加了打印出预测的标签。

public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) 
{
    // TODO Auto-generated method stub
    ArrayList<Prediction> predictions = mLibrary.recognize(gesture);
    Log.d(TAG, predictions.toString());

... 之后,当我绘制手势时,会打印出一个空数组。

我究竟做错了什么?我怎么知道正在绘制哪些手势?这种方法是如何工作的?

另外,我的手势文件可能有问题吗?我只是不确定。

非常感谢。

4

1 回答 1

1

我认为错误可能在于您使用预测。它是一个 ArrayList 所以你必须得到第一个(0)。

尝试这样的事情:

public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {
    ArrayList<Prediction> predictions = mLibrary.recognize(gesture);

    // We want at least one prediction
    if (predictions.size() > 0) {
        Prediction prediction = predictions.get(0);
        // We want at least some confidence in the result
        if (prediction.score > 1.0) {
            // Show the spell
            Toast.makeText(this, prediction.name, Toast.LENGTH_SHORT).show();
        }
    }
}
于 2012-06-29T22:25:43.117 回答