Ich möchte eine Android-Schaltfläche zurück Funktionalität in appcelerator für ein Eltern-Fenster und seine nachfolgenden untergeordneten Ansichten zu integrieren. Ich habe nur ein einziges Fenster im gesamten Projekt. Andere Bildschirme sind die Kinder dieses übergeordneten Fensters. Irgendwelche Vorschläge?Android Back Button Handhabung in Appcelerator
Antwort
Es gibt zwei Fälle, die Sie könnte dich interessieren:
Überfahrt das Standardverhalten der Zurück-Taste drücken.
$.window.onBack = function() { // run your code like change views or whatever you like };
- Verwenden Window's onBack property Taste Rückruf befestigen zurück.
- Sie haben die Kontrolle darüber, was passieren soll, wenn die Zurück-Taste auf diesem Fenster gedrückt wird.
Wenn Sie nur verwenden Window's androidback event zusammen mit Standardverhalten von Zurück-Taste drücken, um zurück Taste drücken wollen hören.
$.window.addEventListener('androidback', function (e){});
- Beachten Sie, dass diese Methode immer noch das Fenster Sie sich befinden wird geschlossen, sondern ermöglicht es Ihnen, einen Code auf der Rückseite Taste drücken laufen.
ich Sie glauben, suchen Methode 1.
Hinweis: Methode 1 ist nur nach oder> SDK 5.5.1.GA. Es war eine bahnbrechende Änderung in 6.0.0.GA. Also lesen Sie die Dokumentation richtig & einige Tests auf ihre Funktionalität.
Hinzugefügt Codebeispiel zur Simulation der Funktion der Rücktaste. Diese
Alloy.Globals.trackingArray = [];
function addNewView(_controllerName, _args) {
var newView = Alloy.createController(_controllerName, _args).getView();
$.window.add(newView);
// add new view in tracking array.
Alloy.Globals.trackingArray.push(_controllerName);
}
// now use something like this whenever you remove any view using backpress
function onBackPress() {
// remove lastly added view
Alloy.Globals.trackingArray.pop(_controllerName);
// add last opened view to simulate back button feature
var lastAddedView = Alloy.Globals.trackingArray[Alloy.Globals.trackingArray.length - 1];
var tempView = Alloy.createController(lastAddedView).getView();
$.window.add(tempView);
}
ist die Grundlage dafür, wie Sie diese Funktion verwalten können. Beachten Sie jedoch, dass Sie sich um die Verwaltung von Argumenten kümmern müssen, die beim Erstellen einer neuen Ansicht oder eines neuen Controllers übergeben werden. Es gibt mehrere Möglichkeiten, es zu tun & es hängt von Ihrem Codierungsstil ab. :)
- 1. Aktivieren Back Button Handhabung Mit Twitter Bootstrap Tabs in IE8 +
- 2. Back-Stack-Handhabung in Conductor
- 3. Android physischen Back-Button Fehler
- 4. Android individuelle Back-Button mit Text
- 5. NativeScript Handhabung zurück Button Ereignis
- 6. Handhabung Back To Back HTTP-Beiträge SWIFT 4.0
- 7. Facebook Login Button Handhabung
- 8. Wie zu implementieren Back-Button-Funktionalität in Android
- 9. Backbutton in ActionBar Android Appcelerator
- 10. IFrames And The Back Button
- 11. Appcelerator Android Button Titel Kleinbuchstaben funktioniert nur auf App Neustart
- 12. Wie brown back button in Laravel 5.2
- 13. Wie richte ich den Android Back-Button (Java) ein?
- 14. prüfen, ob wir von Android Back Button kam
- 15. Beenden App auf den zweiten Back-Button klicken - Android
- 16. Fragment Back-Stack android
- 17. Android Toolbar mit Home- und Back-Taste
- 18. codenameone soft back button funktioniert nicht
- 19. Speicherlecks in Appcelerator Android HTTP?
- 20. Handhabung Orientierungsänderung in android Studio
- 21. Appcelerator CKeditor android WebView
- 22. Detect Backspace Appcelerator Android
- 23. Appcelerator android-Entwicklungs-Tools
- 24. Appcelerator Titan android Crash
- 25. Appcelerator Android fehlgeschlagen Verpackung
- 26. Template10 create on canvas back button
- 27. Ionic nav-back-button wird nicht angezeigt
- 28. ionic ion-nav-back-button ist versteckt
- 29. Back button/backspace funktioniert nicht mit window.history.pushState
- 30. Swipe Back Activity Android
Ich habe ein Fenster und Handhabung der Zurück-Taste ist es einfach. Aber die Ansichten, die ich dem übergeordneten Fenster hinzufüge, sind insgesamt unterschiedliche Bildschirme. Die Handhabung der Zurück-Schaltfläche für diese Ansichten ist das, was ich Prashant nicht verstehe. Kannst du mir bitte helfen? – SylieC
Sie müssen 'exitOnClose: false' setzen und dann können Sie das' androidback'-Ereignis verwenden, um Ihre Ansichten zu ändern – miga
@SylieC, müssen Sie eine benutzerdefinierte Behandlung von Ansichten erstellen, die Sie in diesem einzigen Fenster hinzufügen oder entfernen. Verwenden Sie meine Antwort zusammen mit der benutzerdefinierten Handhabung. Z.B. Nehmen wir an, Sie haben view1 im Fenster, jetzt legen Sie eine Array-Variable fest, die die hinzugefügten Ansichten verfolgt. Sie werden das Fenster schließen, wenn dieses Array nur eine Ansicht hat. Siehe meine bearbeitete Antwort für eine klarere Erklärung. –