Atrybut onClick

Kliknięcie przycisku: findViewById i Toast - Aplikacje mobilne: Android krok po kroku (android)

Kliknięcie można też podpiąć w XML: `android:onClick="sayHello"` wywoła publiczną metodę `sayHello(View view)` aktywności. Takie rozwiązanie pojawia się w starszych projektach i arkuszach, w nowym kodzie częściej spotkasz `setOnClickListener`. Literówka w nazwie metody kończy się awarią aplikacji przy kliknięciu: sprawdź to.

{"layout":"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:orientation=\"vertical\"\n    android:padding=\"16dp\">\n\n    <TextView\n        android:id=\"@+id/message\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"...\"\n        android:textSize=\"20sp\" />\n\n    <Button\n        android:id=\"@+id/hello\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"Przywitaj\"\n        android:onClick=\"sayHello\" />\n\n</LinearLayout>\n","code":"package com.example.app;\n\nimport android.os.Bundle;\nimport android.view.View;\nimport android.widget.*;\nimport androidx.appcompat.app.AppCompatActivity;\n\npublic class MainActivity extends AppCompatActivity {\n    public void sayHello(View view) {\n        TextView message = findViewById(R.id.message);\n        message.setText(\"Metoda z atrybutu onClick\");\n    }\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_main);\n    }\n}\n"}

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Aplikacje mobilne: Android krok po kroku·Zaloguj się, aby zapisać postęp na koncie.