Wie kann ich das Ereignis abfangen, wenn irgendwo auf dem App-Bildschirm ein Klick auftritt? Es spielt keine Rolle, ob es eine Schaltfläche oder etwas anderes gibt. Ich muss nur einen onClick()
Event-Listener auf dem gesamten Anwendungsbildschirm anwenden.
Wie geht das?Wie feuere ich ein Ereignis aus, wenn jemand irgendwo auf dem Bildschirm in einer Android App klickt?
Antwort
setonclicklistner
für Haupt Layout Ihrer Layout-Datei ....
Wie .... main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/mainlayout">
<!- Your other view->
</Relativelayout>
und setzen Hörer für mainlayout klicken ...
RelativeLayout rlayout = (RelativeLayout) findViewById(R.id.mainlayout);
rlayout.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
}
});
Geben Sie Ihrem Hauptlayout eine ID, dann
LinearLayout root = (LinearLayout) findViewById(R.id.main_layout);
root.setOnClickListener(new OnClickListener() {
public void onClick()
{
}
});
Vielleicht können Sie einen Zuhörer in die Layout-Instanz hinzufügen, das Layout mit
RelativeLayout l = (RelativeLayout)findViewById(R.id.mylayout);
l.setOnClickListener(click);
bekommen Sie können auch einen Rückruf aus dem onClick
xml-Attribute des Root-Layouts direkt eingestellt:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:onClick"myMethod">
<!- Your other view->
</Relativelayout>
Und in Ihre Aktivität:
public void myMethod(View pView) {
//XXX do something
}
weniger aufgeblähten Code auf diese Weise :)
Ich glaube, der einfachste Weg, onUserInteraction in Ihrem Activity
Nur beachten Sie, dass es Feuer nicht, wenn Benutzer/off konzentrieren sich auf außer Kraft zu setzen ist EditText
s und Spinners
(wahrscheinlich andere Widgets auch). Aber es wird jedes Mal ausgelöst, wenn der Benutzer den Bildschirm berührt oder einen Knopf drückt.
Aber das macht es unnötig, Listener in Ihre Layouts zu erstellen oder zusätzliche Methoden zu schreiben, um mit diesen Listenern umzugehen, also glaube ich, dass es der problemlose Weg ist, um zu bekommen, was Sie wollen.
- 1. Java Maus Bewegung irgendwo auf dem Bildschirm
- 2. Wie feuere ich ein Ereignis von HTML-Dropdown in icCube
- 3. Wie feuere ich ein Klick-Ereignis in der Kind-Komponente?
- 4. Wie feuere ich ein benutzerdefiniertes Ereignis von Polymer Dart?
- 5. In JQuery, Wie kann ich einen Kalender anzeigen, wenn jemand auf ein Bild klickt?
- 6. Wie Android Einstellungen aus dem Bildschirm entfernen
- 7. Android Ansicht Animation stoppt, wenn aus dem Bildschirm
- 8. jQuery -. Erkennen, wenn ein Benutzer aus einer Eingabetyp Textfeld klickt
- 9. Wie feuere ich ein anderes Modal, wenn eine Taste auf dem aktuellen Modal gedrückt wird?
- 10. Knopf der unteren Grenze verschwindet, wenn ich irgendwo anders auf dem Bildschirm klicken
- 11. Wie kann man ein Mausereignis überwachen, wenn es aus dem Bildschirm des Android-Geräts entfernt wird?
- 12. Wie feuere ich ein Ereignis bei Fehler in jquery Validator Plugin
- 13. XAML-Ereignis für Hintergrundbild aus dem Bildschirm gerendert
- 14. Wie zentriere ich ein Fenster auf dem Bildschirm in C#?
- 15. Richfaces Spalte Filter: Wie feuere ich ein Ereignis auf Intro-Taste
- 16. Wie zeige ich einen Ort aus einer Tabelle auf einer Karte auf dem nächsten Bildschirm an?
- 17. Erkennen, wenn Sicherheitssperre auf dem Bildschirm ist
- 18. Wie kann man div verstecken, wenn man irgendwo auf der Seite klickt?
- 19. Wie feuere ich ein LOCATION_CHANGE Event für react-router-redux?
- 20. Disapear Element, wenn aus dem Bildschirm
- 21. Android - UI Elemente gehen aus dem Bildschirm
- 22. Wie verhindere ich ein Klickereignis, wenn der Benutzer auf sein untergeordnetes Element klickt? AngularJS
- 23. Wie führe ich PHP-Code aus, wenn ein Benutzer auf einen Link klickt?
- 24. Forcing Formular auf dem Bildschirm
- 25. Layout auf Android Studio Vorschau sieht nicht gleich aus, wenn die App auf dem Handy
- 26. Magento 2 - Wird ein Ereignis ausgelöst, wenn ein Benutzer auf "Zur Kasse" klickt
- 27. So erkennen Sie, wenn ein Benutzer auf eine Ansicht in Android klickt
- 28. Bild in android Gridview bewegt sich aus dem Bildschirm
- 29. Android App erkennen Ereignis, wenn App in den Vordergrund gebracht?
- 30. Text kommt aus dem Menü, wenn ich meinen Bildschirm verkleinern
Wie lautet der vollständige Klassenname von OnClickListener? android.view.View.OnClickListener? – tgkprog
android.view.View.OnTouchListener nützlich für generische x, y berühren hören – tgkprog