German App mit back-Taste nicht beenden

peternmb

Active Member
Licensed User
Longtime User
Hallo,

kann ich irgendwie verhindern, dass meine App mit der zurück-Taste sofort komplett beendet wird?

Ich werte ein cls-Wheel aus und erstelle eine ScrollView mit den gewünschten Daten.
Ich möchte mit der zurück-Taste wieder bei dem Wheel für eine erneute Auswahl landen.
Das Wheel wird kurz angezeigt, dann aber schließt sich die App.
 

DonManfred

Expert
Licensed User
Longtime User
Mit der zurücktaste wird die activity beendet.
Um das zu verhindern musst du den key back abfragen und das Event "Consumen" (TRUE zurückliefern)
 

klaus

Expert
Licensed User
Longtime User
Do solltest uns deinen Code zeigen, das wäre für uns viel einfacher.
Die Back Taste kann man abfangen.
Beispielcode:
B4X:
Sub Activity_KeyPress (KeyCode As Int) As Boolean 'Return True to consume the event
   Private Answ As Int
 
   Select KeyCode
   Case   KeyCodes.KEYCODE_BACK
       Answ = Msgbox2("Do you really want to quit the program ?", "Quit program", "Yes", "", "No", Null)
       If Answ = DialogResponse.NEGATIVE Then
           Return True
       End If
   End Select
   Return False
End Sub
 

peternmb

Active Member
Licensed User
Longtime User
Vielen Dank.

So fange ich zwar das Programmende ab, ich gelange aber nicht an den Auswahlpunkt zurück, zu dem ich möchte.

Ein weiteres Problem ist das Einbinden des QR-Code-Scanners.
Ich wollte eigentlich bei dem wheel die Exit-Taste für dessen Aufruf nutzen, funktioniert aber nicht - vermutlich weil beides custom-Dialoge sind.

Ich habe das Projekt als ZIP angehängt, ist aber so nicht lauffähig, da die notwendigen Daten nach der Codeeingabe per FTP geholt werden.
 

Attachments

  • TM-Viewer.zip
    44.1 KB · Views: 175

klaus

Expert
Licensed User
Longtime User
Beiliegend, eine geänderte Version.

Ein weiteres Problem ist das Einbinden des QR-Code-Scanners.
Ich habe noch nie die JhsIceZxing1 Library benutzt.

Ich wollte eigentlich bei dem wheel die Exit-Taste für dessen Aufruf nutzen, funktioniert aber nicht - vermutlich weil beides custom-Dialoge sind.
Und was funktionietr nicht ?
 

Attachments

  • TM-ViewerNeu.zip
    44.1 KB · Views: 204

peternmb

Active Member
Licensed User
Longtime User
vielen Dank, mit dem geänderten Code funktioniert es jetzt so wie ich es haben wollte.

'Warum hast du hier eine For/Next Loop
' For i=1 To 10
' If lv.Width > 0 And lv.Height>0 Then
' F = lv.Scale
' Exit
' End If
' Next
ich habe da gelegentlich, vermutlich vom Gerät abhängig, einen Wert 0 erhalten, deshalb als Workaround diese Schleife.

Ich habe noch nie die JhsIceZxing1 Library benutzt.

Ich wollte eigentlich bei dem wheel die Exit-Taste für dessen Aufruf nutzen, funktioniert aber nicht - vermutlich weil beides custom-Dialoge sind.
Und was funktionietr nicht ?
es passiert nichts, egal wie ich das einbinde.
Der supereinfache Beispielcode funktioniert - da kann ich dann eigentlich nichts falsch gemacht haben...
 
Top