Menambahkan tindakan ke pesan

Anda dapat menambahkan tindakan ke Snackbar, yang memungkinkan pengguna merespons pesan Anda. Jika Anda menambahkan tindakan ke Snackbar,Snackbar akan menempatkan tombol di samping teks pesan. Pengguna dapat memicu tindakan Anda dengan menekan tombol tersebut. Misalnya, aplikasi email mungkin meletakkan tombol urungkan pada pesan "email yang diarsipkan"; jika pengguna mengklik tombol urungkan, aplikasi akan mengembalikan email ke luar arsip.

Gambar 1. Snackbar ini memiliki tombol Urungkan, yang memulihkan item yang baru saja dihapus.

Untuk menambahkan tindakan ke pesan Snackbar, Anda harus menentukan objek pemroses yang mengimplementasikan antarmuka View.OnClickListener. Sistem akan memanggil metode onClick() pemroses Anda jika pengguna mengklik tindakan pesan. Misalnya, cuplikan ini menampilkan pemroses untuk tindakan urungkan:

Kotlin

    class MyUndoListener : View.OnClickListener {

      fun onClick(v: View) {
        // Code to undo the user's last action
      }
    }
    

Java

    public class MyUndoListener implements View.OnClickListener {

        @Override
        public void onClick(View v) {

            // Code to undo the user's last action
        }
    }
    

Gunakan salah satu metode SetAction() untuk menyematkan pemroses ke Snackbar. Pastikan untuk menyematkan pemroses sebelum Anda memanggil show(), seperti yang ditampilkan pada contoh kode ini:

Kotlin

    val mySnackbar = Snackbar.make(findViewById(R.id.myCoordinatorLayout),
                                   R.string.email_archived, Snackbar.LENGTH_SHORT)
    mySnackbar.setAction(R.string.undo_string, MyUndoListener())
    mySnackbar.show()
    

Java

    Snackbar mySnackbar = Snackbar.make(findViewById(R.id.myCoordinatorLayout),
            R.string.email_archived, Snackbar.LENGTH_SHORT);
    mySnackbar.setAction(R.string.undo_string, new MyUndoListener());
    mySnackbar.show();
    

Catatan: Snackbar otomatis menghilang setelah beberapa saat, sehingga Anda tidak dapat memperkirakan apakah pengguna dapat melihat pesan atau memiliki kesempatan untuk menekan tombol. Karenanya, Anda harus mempertimbangkan cara lain untuk melakukan tindakan Snackbar.