1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

EditText Event

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Ripei, 06.11.2009.

  1. Ripei, 06.11.2009 #1
    Ripei

    Ripei Threadstarter Neuer Benutzer

    Beiträge:
    8
    Erhaltene Danke:
    0
    Registriert seit:
    02.10.2009
    Hallo Leute

    Folgende Problematik.
    Ich habe eine Klasse die eine TabActivity extendet und außerdem einen OnGestureListener implementiert. Jetzt habe ich das ganze so programmiert, dass wenn man mit dem Finger einmal von links nach rechts fährt, der nächste Tab angezeigt wird. Das funktioniert wunderbar.

    Jedoch habe ich in den Tabs hauptsächlich auch EditText-Felder. Wenn man über diese Felder die oben genannte Bewegung macht, dann schaltet er nicht zum nächsten Tab, sondern macht das angeklickte EditText-Feld aktiv und zeigt die VirtuelleTastatur.
    Wie kann ich jetzt dieses Touch Event vorher abfragen? Ich habe mehrere EditTextFelder, die ich lediglich per XML definiere und nicht als Variable in der Klasse anlege.

    Hoffe ihr könnt mir helfen und meine Frage ist verständlich
    lg Ripei
     
  2. Mr_Unknow, 07.11.2009 #2
    Mr_Unknow

    Mr_Unknow Android-Hilfe.de Mitglied

    Beiträge:
    143
    Erhaltene Danke:
    5
    Registriert seit:
    02.03.2009
    Hi,
    wie hast du den OnGestureListener implementiert?
    Eine Idee wäre, dass du die EditText-Felder deaktivierst, wenn du feststellst, dass der User nach links oder rechts fährt.
     
  3. Ripei, 07.11.2009 #3
    Ripei

    Ripei Threadstarter Neuer Benutzer

    Beiträge:
    8
    Erhaltene Danke:
    0
    Registriert seit:
    02.10.2009
    Ich habe ihn direkt in der Klasse implementiert... d.h. "public class myClass implements OnGestureListener"... und dann habe ich einen GestureDetector angelegt. d.h. "GestureDetector myDetector = new GestureDetector(this);"

    Mhm... ich habe die Logik für das Weiterschalten in die Methode "onScroll" eingebaut. Jedoch wird die nicht aufgerufen, wenn man über ein EditText-Feld fährt. Welche muss ich da abfragen?
     
  4. Mr_Unknow, 07.11.2009 #4
    Mr_Unknow

    Mr_Unknow Android-Hilfe.de Mitglied

    Beiträge:
    143
    Erhaltene Danke:
    5
    Registriert seit:
    02.03.2009
    Hi,
    habe mich mal an der onScroll Methode versucht, aber da habe ich nicht so tolle Ergebnisse erzielt. Habe mein Source, wie ich feststelle in welche Richtung der User slided dort gepostet: http://www.android-hilfe.de/android-codeschnipsel/9785-src-slidedirection.html
    Kannst ja mal deine onScroll Methode posten, evtl kann ich davon ja noch lernen. ;)
    Ich teste mal mit meiner Version und einem EditText Feld. Wenn was bei rumkommt, lass ich es dich wissen.
     
  5. Ripei, 07.11.2009 #5
    Ripei

    Ripei Threadstarter Neuer Benutzer

    Beiträge:
    8
    Erhaltene Danke:
    0
    Registriert seit:
    02.10.2009
    Hier ist der Kern von meinem Code... danke für deine Hilfe
    Code:
    @Override
    public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
      if((e1.getX()-e2.getX()) < -100){
        /*Move Next Tab Right*/
       }else if((e1.getX()-e2.getX()) > 100){
         /*Move Next Tab Left*/
       }        
       return true;
    }
     
  6. Mr_Unknow, 07.11.2009 #6
    Mr_Unknow

    Mr_Unknow Android-Hilfe.de Mitglied

    Beiträge:
    143
    Erhaltene Danke:
    5
    Registriert seit:
    02.03.2009
    Also, mit meiner Methode, scheint das zu klappen. Solange du nicht auf dem EditText Feld anfangen willst zu sliden. Aber du kannst drüber hinweg sliden und das stört ihn nicht und wenn du auf das Feld klickst, geht die Tastatur auf.
    Src und apk haste im Anhang, kannst ja mal drauf schauen und mal testen.
     

    Anhänge:

  7. Ripei, 07.11.2009 #7
    Ripei

    Ripei Threadstarter Neuer Benutzer

    Beiträge:
    8
    Erhaltene Danke:
    0
    Registriert seit:
    02.10.2009
    *g* jawohl... und genau jetzt sind wir bei meinem problem.
    ich muss auch auf dem edittext-feld sliden können. ich kann doch sicher irgendwie dieses event abfagen, und dann unterscheiden ob er reingeklickt hat oder eben slidet.
     
  8. Mr_Unknow, 07.11.2009 #8
    Mr_Unknow

    Mr_Unknow Android-Hilfe.de Mitglied

    Beiträge:
    143
    Erhaltene Danke:
    5
    Registriert seit:
    02.03.2009
    Ok, jetzt habe ich verstanden, worum es dir geht. ;)
    Evtl. kann man ja was mit EditText.onTouchEvent(); machen.
     
  9. Ripei, 07.11.2009 #9
    Ripei

    Ripei Threadstarter Neuer Benutzer

    Beiträge:
    8
    Erhaltene Danke:
    0
    Registriert seit:
    02.10.2009
    Mhm... ich hab schon einige Sachen probiert jedoch noch ohne Erfolg. Falls du was findest, kannst es mich ja wissen lassen.
     

Diese Seite empfehlen