Kleines Problem mit Gesten

  • Antworten:1
Julian Völzke
  • Forum-Beiträge: 8

22.02.2014, 15:53:43 via Website

Hallo liebe Community,
ich habe eine Frage:

Ich habe vor zwischen verschiedenen Aktivitäten durch ein Wischen nach rechts oder links wechseln.

Ich habe die gesten auch schon in meine Aktivität implementiert.
Nur die Erkennung welche Geste gemacht wurde klappt nicht. :(

Also zum Schluss muss die Aktivität ja erkennen ob nach rechts oder links gewischt wurde und dann je nach Richtung entweder in zu A oder B weiterleiten.

Ich hoffe ihr könnt mir sagen, was ich falsch mache :)

Hier ist mein Code:

import java.util.ArrayList;

import android.app.Activity;
import android.content.Intent;
import android.gesture.GestureLibraries;
import android.gesture.GestureLibrary;
import android.gesture.GestureOverlayView;
import android.gesture.GestureOverlayView.OnGesturePerformedListener;
import android.gesture.Prediction;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

public class Gesture extends Activity implements OnGesturePerformedListener {
private GestureLibrary gestureLib;



@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
GestureOverlayView gestureOverlayView = new GestureOverlayView(this);
View inflate = getLayoutInflater().inflate(R.layout.gesture, null);
gestureOverlayView.addView(inflate);
gestureOverlayView.addOnGesturePerformedListener(this);
gestureLib = GestureLibraries.fromRawResource(this, R.raw.gestures);
if (!gestureLib.load()) {
finish();
}
setContentView(gestureOverlayView);
}



public void onGesturePerformed(android.gesture.Gesture gesture,
android.gesture.Gesture arg1) {
// TODO Auto-generated method stub
ArrayList<Prediction> predictions = gestureLib.recognize(gesture);
for (Prediction prediction : predictions) {
if (prediction.equals("left")) {
Intent oeffneWeiterleitung1 = new Intent("com.test.example.S01");
startActivity(oeffneWeiterleitung1);
}
if (prediction.equals("right")) {
Intent oeffneWeiterleitung2 = new Intent("com.test.example.S03");
startActivity(oeffneWeiterleitung2);
}
}
}



@Override
public void onGesturePerformed(GestureOverlayView overlay,
android.gesture.Gesture gesture) {
// TODO Auto-generated method stub

}}



Danke schon mal im Voraus

Liebe Grüße

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

22.02.2014, 16:19:08 via Website

Wieso machst du das so umständlich?
Wenn ich dein Programm richtig verstanden have, dann früfst du ob nach links|rechts gewischt wirde und startedt daruafhin andere Aktivities.
Ist in so einem Fall eine SwipeActivity oder ein Viewpager nicht besser?
Möchtest du auch noch andrer Wischgesten einfügen oder sind links und rechts die einzigen?

LG

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten