Pada tutorial ini, kita akan belajar bagaimana membuat Button ‘’SENTUH AKU” menjadi berfungsi.  Listener merupakan object yang manangani suatu event. Kita akan menambah event saat Button disentuh maka akan muncul pesan text jumlah kita sentuh.

Untuk mebuat listener, kita perlu mendapatkan referensi dari widget Button. Widget harus memiliki ID agar bisa mendapat referensi melalui Activity. Buka activity_main.xml kemudian tambahkan attribute berikut dalam widget Button.

android:id="@+id/btn_sentuh_aku"

Setelah kita masukkan kode diatas maka activity_main.xml akan seperti gambar berikut.

menambah id di button

Setelah menambahkan ID pada widget Button. Selanjutnya kita akan mereferensikan widget di Activty. Buka MainActivity.java, masukkan kode berikut.

package com.teknorial.aplikasisederhana;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Button; //import class Button

public class MainActivity extends AppCompatActivity {
    private Button mSentuhAkuBtn; //deklarasi variable mSentuhAkuBtn sebagai widget Button.

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        
        //mereferensikan variable mSentuhAkuBtn ke Widget Button yang memiliki id btn_sentuh_aku
        mSentuhAkuBtn = findViewById(R.id.btn_sentuh_aku);

    }
}

Kemudian kita akan menambahkan listener di widget mSentuhAkuBtn. Tambahkan kode berikut dibawah mSentuhAkuBtn = findViewById(R.id.btn_sentuh_aku); .                                                                               

//menambahkan listener pada mSentuhAkuBtn
mSentuhAkuBtn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

    }
});

Pada method onClick kita akan tambahan informasi jumlah klik dengan menggunakan Toast. Tambahkan kode berikut kedalam method OnClick.

//menambahkan listener pada mSentuhAkuBtn
mSentuhAkuBtn.setOnClickListener(new View.OnClickListener() {
    int counter = 0; //set awal 0
    @Override
    public void onClick(View v) {
        //menampilkan informasi jumlah disentuh.
        Toast.makeText(MainActivity.this,"Tombol telah disentuh sebanyak "+ counter++ +" kali.",Toast.LENGTH_SHORT).show();
    }
});

Jika terdapat error pada Toast, itu karena kita belum mengimport class Toast. Untuk memperbaiki itu, kita harus menambahkan import android.widget.Toast; atau langsung menekan alt+enter pada tulisan berwarna merah seperti berikut.

error toast

Kita telah belajar cara mengimport class, mendeklarasikan variable, mereferensikan variable ke widget,menambahkan listerner dan membuat event saat disentuh. Berikut code keselurahan pada MainActivity.java.

package com.teknorial.aplikasisederhana;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button; //import class Button
import android.widget.Toast; //import class Toast

public class MainActivity extends AppCompatActivity {
    private Button mSentuhAkuBtn; //deklarasi variable mSentuhAkuBtn sebagai widget Button.

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        //mereferensikan variable mSentuhAkuBtn ke Widget Button yang memiliki id btn_sentuh_aku
        mSentuhAkuBtn = findViewById(R.id.btn_sentuh_aku);

        //menambahkan listener pada mSentuhAkuBtn
        mSentuhAkuBtn.setOnClickListener(new View.OnClickListener() {
            int counter = 0; //set awal 0
            @Override
            public void onClick(View v) {
                //menampilkan informasi jumlah disentuh.
                Toast.makeText(MainActivity.this,"Tombol telah disentuh sebanyak "+ counter++ +" kali.",Toast.LENGTH_SHORT).show();
            }
        });


    }
}

Pada tutorial selanjutnya kita akan belajar cara menjalankan aplikasi yang telah dibuat dengan emulator. Jika mengalami kendala saat mengikuti tutorial ini, jangan ragu bertanya di kotak komentar. Terima kasih.