Ich habe einige erweiterte UI-Steuerelemente basierend auf den Standard-Android-Widgets (Button, ProgressBar) erstellt. Zu einem bestimmten Zeitpunkt möchte ich im benutzerdefinierten Steuerelement mit der Ansicht kommunizieren, die das benutzerdefinierte Steuerelement enthält. Zum Beispiel möchte ich den aktuellen Wert der ProgressBar oder einen Wert von der Schaltfläche übergeben. Was ist der beste Ansatz? Ist es möglich, ein benutzerdefiniertes Ereignis (wie das "onClick") zu erstellen und dann in der Container-Klasse einen Handler zu haben? Oder gibt es einen besseren Ansatz? Vielen Dank im Voraus! ;)Kommunikation zwischen einer benutzerdefinierten Ansicht in einer Ansicht eingebettet
0
A
Antwort
0
Wenn der "Irgendein Punkt" ist, wenn ein Ereignis eintritt (wie wenn Sie die Taste drücken), können Sie eine Ereignis-Listener-Schnittstelle erstellen.
Innerhalb einer benutzerdefinierten Ansicht von mir Ich habe dies:
private OnFlingListener flingListener;
// my event listener interface
public interface OnFlingListener {
public abstract boolean onFling(View v, int direction);
}
public void setOnFlingListener(OnFlingListener l) {
flingListener = l;
}
// ........my custom view code.......
// event handling now
private void flingRight() {
if(flingListener != null) {
if(flingListener.onFling(this, FLING_TO_RIGHT))
showPrevious();
} else {
showPrevious();
}
}
auf diese Weise ich OnFlingListener
umsetzen kann, wie ich mit OnClickListener
tun würde.
EDIT:
mein onFling
gibt einen Booleschen weil ich dort entscheiden wollte, ob das Ereignis zu akzeptieren oder abzubrechen (siehe flingRight()
). Es könnte auch ungültig werden.
Verwandte Themen
- 1. CollapsingToolbarLayout mit einer benutzerdefinierten Ansicht
- 2. Ansicht in einer Ansicht
- 3. Erstellen einer benutzerdefinierten modalen Ansicht
- 4. Erstellen einer benutzerdefinierten Ansicht mit einer xib
- 5. Hinzufügen einer benutzerdefinierten Ansicht zu einer Symbolleiste
- 6. Animieren einer Ansicht über einer anderen Ansicht
- 7. findViewById in einer benutzerdefinierten Ansicht zu untergeordneten Ansicht
- 8. Unterschied zwischen einer AppCompat-Ansicht und einer normalen Android-Ansicht
- 9. Binden einer benutzerdefinierten Ansicht in Xamarin.Forms
- 10. Wie Benutzerinteraktion in einer benutzerdefinierten Ansicht deaktivieren
- 11. Android: Erstellen einer benutzerdefinierten Container-Ansicht
- 12. Ausrichtungsprobleme zwischen einer Ansicht und einer Teilansicht
- 13. Japanische Tastatureingabe von einer benutzerdefinierten Ansicht empfangen
- 14. Null MenüItem-Ansicht von einer benutzerdefinierten Symbolleiste
- 15. Androide Datenbindung mit einer benutzerdefinierten Ansicht
- 16. rufen Sie eine Methode einer übergeordneten Ansicht aus einer Ansicht auf, die in einer UIContainerView eingebettet ist. swift
- 17. in einer Ansicht Ansicht Modelleigenschaften Looping durch
- 18. Recycler-Ansicht in einer Recycler-Ansicht
- 19. runOnUiThread in einer Ansicht
- 20. Starten einer benutzerdefinierten Ansicht von einem benutzerdefinierten Modell. Zend_möglich?
- 21. Reuse Code aus einer Django Ansicht in einer anderen Ansicht
- 22. Unable Eigenschaften von einer Ansicht in einer anderen Ansicht referenzieren
- 23. Erstellen einer Kopie einer Ansicht?
- 24. Übergeben von NSString von einer Ansicht zu einer anderen Ansicht
- 25. Wie Textfeld Werte von einer Ansicht zu einer anderen Ansicht
- 26. iPhone: Wie zeichne ich in einer benutzerdefinierten Ansicht etwas über allem anderen in der Ansicht?
- 27. alle Eingaben mit benutzerdefinierten Attributs in einer Ansicht Erste
- 28. Wie finde ich andere (Checkbox) Ansicht in einer benutzerdefinierten Listenansicht
- 29. Scrollview scrollt nicht in einer benutzerdefinierten Ansicht für einen Listenansicht
- 30. Positionen der Ansicht in einer benutzerdefinierten ListView wiederholt sich
Sie können 'View.getParent()' verwenden - es ruft das übergeordnete Element dieser Ansicht ab und ruft dann etw darauf auf. Allerdings klingt die Frage für mich etwas seltsam. –