Ich erstelle eine Android-Anwendung mit Java. Ich habe eine boolesche Variable namens "Bewegung". Ich möchte ein Ereignis erstellen, das ausgelöst wird, wenn sich der Wert von "Bewegung" ändert. Alle Hinweise in die richtige Richtung wären großartig. DankeJava für Android - Wie erstelle ich Listener für boolesche Variable
Antwort
Eine Variable ist nicht allein, ich nehme an. Es wohnt als Mitglied in einer Klasse - richtig? Die Listener-Schnittstelle würde also in dieser Klasse verschachtelt sein, und die Klasse hätte eine Member-Variable für einen Listener und eine setBooChangeListener-Methode. Und bei jeder Veränderung der Variable (es ist nicht öffentlich, hoffe ich) würden Sie den Hörer anrufen, falls vorhanden. Das wars so ziemlich.
class C
{
private boolean mBoo; //that's our variable
public interface BooChangeListener
{
public void OnBooChange(boolean Boo);
}
private BooChangeListener mOnChange = null;
public void setOnBooChangeListener(BooChangeListener bcl)
{
mOnChange = bcl;
}
}
Es gibt keine Möglichkeit, das System (Java) sehen die Variable haben und automatisch einen Zuhörer feuern, wenn es sich verändert hat. Es gibt keine Magie.
Ich wünschte, ich dies als Kommentar hinzufügen könnte ... Ich bin damit einverstanden oben mit Seva mit dem größten Teil jedoch betrachten die Klasse eine Bohne zu machen und die Property Schnittstelle implementiert:
http://docs.oracle.com/javase/1.4.2/docs/api/java/beans/PropertyChangeListener.html
Bohne auf diese Weise können Eigenschaften tatsächlich gebunden und beobachtet werden. In javafx 2.0 hat Oracle einige sehr fortschrittliche Mechanismen hinzugefügt, um dies zwischen Eigenschaften und UI-Elementen zu tun, und ich hoffe wirklich, dass dies in die Kern-API verzweigt werden kann und irgendwie für Android-Entwickler verfügbar wird. Wenn JavaFX 2.0 zu spät für das Spiel ist, können wir zumindest einige der moderneren Paradigmenverschiebungen im Kern bekommen, sodass Situationen wie diese einfach und rationell implementiert werden können.
Ich glaube nicht, dass Bohnen derzeit auf Android unterstützt werden. Außerdem ist PropertyChangeListener typenunabhängig. –
- 1. Wie erstelle ich den Change Listener für die Variable?
- 2. Wie erstelle ich Equalizer für Android
- 3. Wie erstelle ich eine eigene Listener-Schnittstelle in Android?
- 4. Wie überprüfe ich Java für variable Größe?
- 5. Wie erstelle ich einen Event Listener
- 6. Assembly - Wie setze ich eine boolesche Variable
- 7. Android Event Listener Datenbindung für ViewPager
- 8. onclick Listener für Präferenz Aktivität in Android
- 9. Namenskonventionen für boolesche Attribute
- 10. UIBarButtonItem als Kippschalter für Boolesche
- 11. Wie erstelle ich eine JNLP-Datei für eine Java-Webanwendung?
- 12. Wie erstelle ich ein Mac-Installationsprogramm für meine Java-Anwendung?
- 13. Wie erstelle ich eine Lizenz für meine Java Software?
- 14. Java Swing Hinzufügen Aktion Listener für EXIT_ON_CLOSE
- 15. Optionsfeld für boolesche Eigenschaft
- 16. Wie erstelle ich ein benutzerdefiniertes Sprachpaket für Android?
- 17. Android-Ereignis-Listener für App-Lebenszyklus
- 18. Wie erstelle ich Java Web Service für Android-Anwendung mit MySQL?
- 19. Quickcheck für nicht boolesche Tests
- 20. Wie erstelle ich eine Playlist für RealPlayer?
- 21. Wie erstelle ich Bindungen für Xamarin.iOS?
- 22. Wie erstelle ich Emulator für ONEPLUS TWO?
- 23. Wie erstelle ich eine Tastenkombination für SublimeREPL?
- 24. Wie erstelle ich einen Alias für 'Fenster'?
- 25. Wie erstelle ich eine Sitemap für CakePHP?
- 26. Wie erstelle ich Thumbnails für freigegebene Links
- 27. Wie erstelle ich Makefile für dieses
- 28. Android: Call-Listener manuell von Java-Code
- 29. Zugriffsberechtigungen für Variable in Java
- 30. Boolesche Methode ‚Blackjack‘ für Arrays
Schönes einfaches Code-Snippet. Es fehlt nur der Setter, wo der Listener benachrichtigt wird, wenn einer gesetzt wurde :) – WarrenFaith
Das einzige, was in dieser Antwort fehlt, ist eine Setter-Methode für 'mBoo' zu definieren, die den Listener benachrichtigt, wenn die Variable gesetzt ist. –
Wie die anderen beiden sagten, haben Sie es versäumt, den Zuhörer einzustellen! –