Skocz do zawartości
Coders Lab

Zdarzenia na komponentach i ich obsługa

    Rekomendowane odpowiedzi

    Tworząc nowy przycisk, zapewne chcemy, żeby po jego kliknięciu wykonała się jakaś akcja. Zatem taki przycisk musi obsługiwać zdarzenie, którym w tym przypadku jest kliknięcie na niego. Może to być wyświetlenie komunikatu, otworzenie nowego activity, zapis danych itd. Jednak domyślnie przycisk jest nieczuły na kliknięcia i trzeba jasno mu sprecyzować dwie rzeczy. Po pierwsze - ma "nasłuchiwać" czy wystąpiło określone zdarzenie. Po drugie ma wiedzieć co zrobić gdy takie zdarzenie wystąpi. Do realizacji tych zadań używany jest OnClickListener:

    //mamy już przycisk zdefiniowany wcześniej
    
    // Java
    
    button.setOnClickListener( new OnClickListener() { // 1
        @Override
        public void onClick(View arg0) {
            Toast.makeText(getApplicationContext(), "przycisk został kliknięty", Toast.LENGTH_SHORT).show(); // 2
        }
    })
      
    // Kotlin
      button.setOnClickListener { // 1
        Toast.makeText(this, "przycisk został kliknięty", Toast.LENGTH_SHORT).show() // 2
    } 

    1. Ustawiamy zdarzenie na które przycisk ma reagować.

    2. Dodajemy akcję jaka ma się wykonać.

     

    Istnieje wiele typów zdarzeń, które mogą być definiowane na dowolnym typie komponentu. Na przykład OnClickListener możemy równie dobrze ustawić na TextView. Możemy definiować co stanie się gdy użytkownik dłużej przytrzyma palec na komponencie (OnLongClickListener ), spróbuje go przeciągnąć (OnDragListener ), czy nawet wykonanie akcji może być spowodowane przez samo wprowadzanie tekstu - w przypadku EditText (TextChanged).

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

    Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

    Zarejestruj nowe konto

    Załóż nowe konto. To bardzo proste!

    Zarejestruj się

    Zaloguj się

    Posiadasz już konto? Zaloguj się poniżej.

    Zaloguj się

    • Przeglądający   0 użytkowników

      Brak zarejestrowanych użytkowników przeglądających tę stronę.