Auf einigen meiner Formulare registriere ich einen Sensor-Listener, wenn ich das Formular mithilfe der onShow() -Methode öffne. Ich möchte diese Zuhörer abmelden, wenn ich zu einer anderen Form gehe.Gibt es einen Begleiter für die Form.onShow() -Methode, die ich verwenden kann, wenn ein Formular ausgeblendet ist?
Ich fand die onShow() -Methode für alles, was ich tun muss, wenn ein Formular angezeigt wird, aber ich sehe keine onHide() -Methode oder irgendeine Methode, die ich für ein Formular nach sich selbst aufräumen kann. Ich könnte den Cleanup-Code in die Navigationsbefehle einfügen, aber sie gehören wirklich zum Formular. Gibt es eine Methode, die ich verwenden kann, die ich übersehen habe?
Es stimmt, dass Sie normalerweise nicht wissen müssen, dass Sie ein 'Formular' verlassen. Da ich einen Zuhörer von einem nativen Sensor abmelde, ist meins ein Sonderfall. Die 'newForm.show()' Methode ist ein lausiger Ort, um dies zu tun, da das nicht sein kann, wie das Formular versteckt wird. Im objektorientierten Denken ist das Formular verantwortlich für die Registrierung/Abmeldung des Zuhörers. Daher ist der beste Ort, um diesen Code zu platzieren, eine Form.onHide() -Methode, die sicher aufgerufen wird, wenn das Formular ausgeblendet wird. (Ich habe bereits Code in meinen Methoden 'start()' und 'stop()', die auf meine Methoden start() und stop() in meinen Formularen verweisen.) – MiguelMunoz
Haben Sie bemerkt, dass er 'deinitialize()'/'initComponent vorgeschlagen hat?() 'beides können Sie auch pro Komponente tun? –
Eigentlich könnte dinitialize() funktionieren. Ich versuche es mal. – MiguelMunoz