Jak mogę złapać zdarzenie, gdy kliknięcie pojawi się gdzieś na ekranie aplikacji? Nie ma znaczenia, czy istnieje przycisk lub coś innego. Potrzebuję tylko zastosować detektor zdarzeń onClick()
na całym ekranie aplikacji.
Jak to zrobić?jak wywołać zdarzenie, gdy ktoś kliknie w dowolnym miejscu na ekranie w aplikacji na Androida?
Odpowiedz
setonclicklistner
do głównego układu pliku układu ....
Podobnie jak .... 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>
i ustawić kliknij detektor mainlayout ...
RelativeLayout rlayout = (RelativeLayout) findViewById(R.id.mainlayout);
rlayout.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
}
});
Podaj układ główny o identyfikatorze, a następnie
LinearLayout root = (LinearLayout) findViewById(R.id.main_layout);
root.setOnClickListener(new OnClickListener() {
public void onClick()
{
}
});
Może można dodać słuchacza do instancji Układ coraz układ z
RelativeLayout l = (RelativeLayout)findViewById(R.id.mylayout);
l.setOnClickListener(click);
Można także bezpośrednio ustawić zwrotnego z atrybutu onClick
xml układ korzeniowy:
<?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>
aw swoją działalność:
public void myMethod(View pView) {
//XXX do something
}
kod Mniej nadęty ten sposób :)
Wierzę, najprostszym sposobem jest przesłonić onUserInteraction w swojej Activity
Wystarczy mieć świadomość, że to nie zadziała, gdy użytkownicy koncentrują się on/off EditText
s i Spinners
(prawdopodobnie inne wzory zbyt). Ale będzie się uruchamiać za każdym razem, gdy użytkownik dotknie ekranu lub naciśnie przycisk.
Ale to sprawia, że nie trzeba budować słuchaczy w twoich układach ani pisać dodatkowych metod, aby poradzić sobie z tymi słuchaczami, więc uważam, że jest to najbardziej bezproblemowy sposób na uzyskanie tego, co chcesz.
- 1. Swift wykrywa dotyk w dowolnym miejscu na ekranie.
- 2. Zamknij okno dialogowe kliknięcia (w dowolnym miejscu)
- 3. Wykrywanie zdarzeń wejścia/wyjścia myszy w dowolnym miejscu na JPanel
- 4. Jak wywołać zdarzenie, gdy scrollView osiągnie dno przy pomocy Androida?
- 5. Jak pozycjonować kontrolki powiększenia MapView w innym miejscu na ekranie?
- 6. Jak wyświetlić okno ładowania, gdy ktoś kliknie określony link?
- 7. Pierwsze lokalizatora usług w dowolnym miejscu ZF2
- 8. Jak uruchamiać aplikacje na Androida w mojej aplikacji na Androida?
- 9. Wyszukiwanie w dowolnym miejscu treści zamiast uruchamiania
- 10. opracowywanie aplikacji na ekranie blokady systemu Android
- 11. Jak wywołać zdarzenie na płatność otrzymaną w Magento?
- 12. ExceptionInInitializerError w aplikacji na Androida?
- 13. Wyświetl nakładkę ładującą na ekranie Androida
- 14. Autouzupełnianie dla ComboBox w WPF w dowolnym miejscu w tekście (nie tylko na początku)
- 15. Jak wywołać zdarzenie "kliknięcia" na wejściu do pliku w Angular?
- 16. Jak wywołać niestandardowe zdarzenie javascript w IE8?
- 17. Jak wywołać zdarzenie ręcznie w języku C#?
- 18. Dynamicznie wyświetlaj tekst ciągu na ekranie Androida
- 19. Jak zmienić motyw w aplikacji na Androida?
- 20. Jak uruchomić valgrind w aplikacji na Androida?
- 21. Jak wywołać kalkulator Androida z aplikacji
- 22. Umożliwia zaznaczanie kursora w dowolnym miejscu w UITextView
- 23. jak pokazać opcje, gdy użytkownik kliknie na UITableViewCellAccessoryDetailDisclosureButton
- 24. LinqPad właśnie rozbił się na mnie. Czy mój kod znajduje się w dowolnym miejscu na dysku?
- 25. Jak wywołać zdarzenie dotyku?
- 26. Obsługa zdarzenia myszy w dowolnym miejscu z JavaFX
- 27. wyświetlanie tekstu w formacie HTML w aplikacji na Androida
- 28. Kod źródłowy nowej aplikacji Lollipop na Androida
- 29. Jak przesłać zdjęcia na serwer FTP w aplikacji na Androida?
- 30. Jak narysować na ekranie w języku C++?
Jaka jest pełna nazwa klasy OnClickListener? android.view.View.OnClickListener? – tgkprog
android.view.View.OnTouchListener przydatne do generycznego słuchania w trybie x, y touch – tgkprog