German Frage zu KeyCodes.KEYCODE_BACK (Abfangen der Zurück-Taste)

Discussion in 'German Forum' started by pucki, Aug 30, 2018.

  1. pucki

    pucki Active Member Licensed User

    Ich hab mal eine Frage zum Keycode_back.

    Wie kann ich verhindern das, das das KeyCodes.KEYCODE_BACK Ereignis die App in den Hintergrund aber aktiv schiebt.

    Code:
    Sub Activity_KeyPress (KeyCode As Int) As Boolean
          
        
    If KeyCode = KeyCodes.KEYCODE_BACK Then
            
    If my_back = "beschreibung" Then
                my_panel_1.Visible = 
    True
                my_panel_3.Visible = 
    False
                my_back = 
    ""
            
    Else
                KeyCode = 
    0   
            
    End If
        
    End If

    End Sub
    Dieser Code funktioniert nur zur Hälfte. Beim ERSTEN Drücken der Zurück-Taste wird zwar die Panel sauber umgeschaltet, jedoch beim 2 Drücken wird die App in den Hintergrund geschoben.

    Ich möchte gerne wie im Code versucht zu schreiben, das das drücken abgefangen und "gelöscht" wird.

    Vielleicht weiß einer der Profis hier eine Lösung.

    Gruß und VIELEN DANK im Voraus

    Pucki
     
  2. monki

    monki Active Member Licensed User

    Auszug aus der Doku zu Activity

    For example if the user pressed on the Back key and you return True then the OS will not close your activity.

    Monki
     
  3. klaus

    klaus Expert Licensed User

    Code:
    Sub Activity_KeyPress (KeyCode As Int) As Boolean
        
    If KeyCode = KeyCodes.KEYCODE_BACK And my_back = "beschreibung" Then
            my_panel_1.Visible = 
    True
            my_panel_3.Visible = 
    False
            my_back = 
    ""
            
    Return True
        
    End If
        
    Return False
    End Sub
     
    pucki likes this.
  4. pucki

    pucki Active Member Licensed User

    Danke Klaus.

    Ich habe nämlich gerade die deutsche Anleitung überprüft ob ich was überlesen habe.

    Das hilft mir sehr

    Gruß

    Pucki
     
  5. pucki

    pucki Active Member Licensed User

    Danke für dein Tipp im Code Klaus, leider funktionierte es nicht. Aber für den Fall das es jemand anders wissen will. Hier ein Code der funktioniert.

    Code:
    If KeyCode = KeyCodes.KEYCODE_BACK Then
            
    If my_back = "beschreibung" Then ' eigene Variable um den Rücksprung zu erkennen.  Wichtig damit man weiß was aufgerufen wurde
                my_panel_1.Visible = True ' hauptpanel anzeigen
                my_panel_3.Visible = False ' unter_panel (als Fenster z.b.) ausschalten
                my_back = "" ' Variable auf NIX setzen damit keine Fehler bei doppelklick oder zufallsklick ausgelöst werden.
            End If
            
    Return True  ' verhindert das das Prg. beendet wird
        End If
    Wichtig ist die my_back Variable. Die löst die Steuerung aus und die handlung. Ist die in meinen Code auf "" gesetzt wird NIX außer RETURN TRUE ausgelöst. Auf die Weise kann man je nachdem von wo die "Zurück-Taste" aufgerufen wird, eigene Reaktionen coden. Nicht vergessen die my_back Variable GLOBAL zu Dimensionieren.

    Gruß

    Pucki
     
  6. klaus

    klaus Expert Licensed User

    Und wie wird das Programm verlassen?
    Mit deinem Code kann man das Programm nicht mit der Back-Taste verlassen.
     
  7. pucki

    pucki Active Member Licensed User

    Ist ja auch Absicht. ;)

    Verlassen tu ich es bisher in den ich es einfach raus werfe. Alternativ gesehen werde ich vielleicht mal eine beenden Routine schreiben. Die dann über ein Button oder Menüpunkt ausgelöst wird.

    Ich muss allerdings dazu schreiben das es sich bei der Software um eine rein private Software handelt, die ich nur auf meinen eigenen Tablett benutze. Sie erledigt für mich die Abfrage einiger Datenbanken. Der Code ist auch gekürzt gewesen um das Forum zu schonen. In Real hat my_back ca. 5-6 Zustände.

    Und ich bin halt daran gewöhnt inzwischen mit der Back-Taste zurück zuspringen. Bloß wenn ich zu schnell bin, fliege ich jedes mal aus meiner Software, und das wollte und hab ich dank deiner Hilfe so perfekt geschafft zu verhindern. :):):)

    Gruß

    Pucki
     
    klaus likes this.
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice