onGestureПроизведено, что не распознает жесты, всегда возвращает ноль - PullRequest
2 голосов
/ 07 января 2012

Я прочитал о жестах в Android и даже нашел аналогичную проблему на этом сайте, но решение не было дано.Поэтому я спрашиваю это снова.

Я хотел бы использовать 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();
        }
    }   
}

1 Ответ

0 голосов
/ 07 января 2012

Для тех, у кого та же проблема, что и у меня, я решил опубликовать свое решение. Вы должны загрузить библиотеку жестов после того, как определите ее. я думал

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

загружал жесты из ресурсов, и этот mLibrary.load был просто логическим значением, если загрузка прошла успешно. Моя ошибка в том, что я не использовал этот метод. На самом деле, вы также должны использовать метод load в библиотеке для загрузки жестов.

ошибка новичка, вы живете и учитесь.

...