Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法识别Android手势,但正在调用OnGeturePerformed()。如何识别不同的手势?_Java_Android_Gesture_Gestures_Prediction - Fatal编程技术网

Java 无法识别Android手势,但正在调用OnGeturePerformed()。如何识别不同的手势?

Java 无法识别Android手势,但正在调用OnGeturePerformed()。如何识别不同的手势?,java,android,gesture,gestures,prediction,Java,Android,Gesture,Gestures,Prediction,我正在尝试使此代码正常工作: (此处还有stackoverflow): 我运行了代码并添加了打印预测的标记 public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) { // TODO Auto-generated method stub ArrayList<Prediction> predictions = mLibrary.recognize(gesture);

我正在尝试使此代码正常工作:
(此处还有stackoverflow):

我运行了代码并添加了打印预测的标记

public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) 
{
    // TODO Auto-generated method stub
    ArrayList<Prediction> predictions = mLibrary.recognize(gesture);
    Log.d(TAG, predictions.toString());
public void onestureperformed(手势叠加视图叠加、手势叠加)
{
//TODO自动生成的方法存根
ArrayList predictions=mLibrary.recognize(手势);
Log.d(标记,predicts.toString());
。。。 这样做之后,当我画手势时,会打印出一个空数组

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

还有,我的手势文件有问题吗?我只是不确定


非常感谢。

我认为错误可能在于您使用的预测。它是一个数组列表,因此您必须获取第一(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();
        }
    }
}
public void onestureperformed(手势叠加视图叠加、手势叠加){
ArrayList predictions=mLibrary.recognize(手势);
//我们至少需要一个预测
如果(预测值.size()>0){
预测=预测。获取(0);
//我们希望至少对结果有一些信心
如果(预测分数>1.0){
//施展咒语
Toast.makeText(this,prediction.name,Toast.LENGTH_SHORT).show();
}
}
}

我认为错误可能在于您使用的预测。它是一个数组列表,因此您必须获取第一(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();
        }
    }
}
public void onestureperformed(手势叠加视图叠加、手势叠加){
ArrayList predictions=mLibrary.recognize(手势);
//我们至少需要一个预测
如果(预测值.size()>0){
预测=预测。获取(0);
//我们希望至少对结果有一些信心
如果(预测分数>1.0){
//施展咒语
Toast.makeText(this,prediction.name,Toast.LENGTH_SHORT).show();
}
}
}

如果要查看所有预测等,只需浏览所有ArrayList。此外,在prediction.name中,您拥有使用gesturesbuilder定义的名称。如果要查看所有预测等,只需浏览所有ArrayList。在prediction.name中,您拥有使用gesturesbuilder定义的名称。