Jumat, 03 April 2015

Melakukan Navigasi Antar-activity via Button

Cara mudah melakukan navigasi antar-activity melalui perantara (trigger) Button adalah dengan memanggil method startActivity(). Namun, sebelumnya, Anda harus terlebih dahulu memastikan bahwa Anda sudah memiliki (paling tidak) dua buah activity yang akan di-link-kan beserta sebuah tombol (button) pada activity yang akan menjadi penjembatan untuk menuju ke activity lain, misal seperti terlihat pada Gambar 1 dan 2 berikut.

Gambar 1: Activity Pertama

Gambar 2: Activity Kedua

Setelah kedua activity tersedia, Anda tinggal menambahkan event handler ketika button “Link 1” diklik. Caranya mudah, tinggal mengisi property “On Click” pada Button (bisa Anda temukan di bagian Properties). Isi property tersebut dengan sebuah nama method, terserah, yang penting nama method-nya deskriptif terhadap isinya. Atau Anda juga dapat menambahkannya secara manual sebagai value atribut android:onClick pada source XML-nya seperti tampak pada Gambar 3 berikut.

Gambar 3: Penambahan Value pada Atribut android:onClick
Dalam hal ini, nama method yang digunakan adalah “openLinkedOne”.

Langkah berikutnya adalah menambahkan implementasi method pada source Java untuk activity pertama. Hal penting yang perlu diperhatikan adalah tentang deklarasi method-nya. Pastikan method yang Anda buat mencantumkan 1 buah parameter yang bertipe View. Pastikan juga Anda telah mengimpor class View dengan menambahkan script: import android.view.View. Isi dari method-nya juga sederhana (kalau memang hanya 'sekedar membuka' activity lain), yaitu membuat sebuah objek dari class Intent. Kirim this untuk mengisi parameter pertama konstruktor, dan class Java tujuan yang berasosiasi dengan activity kedua untuk mengisi parameter kedua konstruktor (dalam hal ini linked_one_activity.xml bersesuaian dengan file LinkedOneActivity.java). Lebih lanjut, silakan lihat Gambar 4 berikut.

Gambar 4: Implementasi Method pada File Java yang Bersesuaian
Setelah membuat objek intent, Anda tinggal memanggil method startActivity() dengan memasukkan objek intent sebagai isi parameter method.

Demikian, cukup mudah bukan? :)

Project dapat Anda unduh di sini (Eclipse based project, versi belum di-build).