2012-01-06 12 views
2

私はアンドロイドでジェスチャを読んだことがありますが、このサイトでも同様の問題が見つかりましたが、解決策は提示されませんでした。だから私はもう一度それを求めている。onGesturePerformedジェスチャを認識しない、常にnullを返す

私はGestrueOverlayを使用してビュー切り替え機能を使用したいと考えています。ジェスチャービルダを実行し、ジェスチャーファイルをres/rawで移動し、XMLにオーバーレイを追加してリスナーを実装しました。私は基本的にGoogleの指示からコードをコピーしました。

ジェスチャーを追跡するリスナーは、退色した黄色から暗い黄色に変化しますが、ジェスチャーは認識されません。私は予測の大きさを知るために乾杯を書いた。それは常にゼロを読む。

ご了承いただき、ありがとうございます。

は、ここでは、ここでのonCreateコード

 mLibrary = GestureLibraries.fromRawResource(LayoutView.getContext(), R.raw.gestures); 
     gestures = (GestureOverlayView) LayoutView.findViewById(R.id.gestures);  
     gestures.addOnGesturePerformedListener(this); 

あるリスナーのコード私が持っていたとして、私は私が私の解決策を投稿したい考え出し同じ問題を持っている人のために

public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) { 
    ArrayList<Prediction> predictions = mLibrary.recognize(gesture); 
    Toast.makeText(LayoutView.getContext(), String.valueOf(predictions.size()), Toast.LENGTH_SHORT).show(); 

    // We want at least one prediction 
    if (predictions.size() > 0) { 
     Prediction prediction = (Prediction) predictions.get(0); 
     // We want at least some confidence in the result 
     if (prediction.score > 1.0) { 
      // Show the spell 
      Toast.makeText(overlay.getContext(), prediction.name, Toast.LENGTH_SHORT).show(); 
     } 
    } 
} 

答えて

0

です。ジェスチャライブラリを定義した後にロードする必要があります。私は

mLibrary = GestureLibraries.fromRawResource(LayoutView.getContext(), R.raw.gestures); 

がリソースからジェスチャーをロードし、ロードが成功した場合mLibrary.loadはちょうどブールと思いました。私の間違いは、私はその方法を使用していないということです。実際には、ジェスチャをロードするためにライブラリのloadメソッドも使用する必要があります。

初心者の間違いで、あなたは生きて学びます。

+0

ありがとうございます。私も同じ問題がありました。 –

関連する問題