Thursday, 27 July 2017

Cara Pindah Dari Activity Ke Fragment dan Fragment Ke Activity

Bagi mereka yang baru pertama kali belajar pemrograman Android hal yang dipelajari pertama kali adalah perkenalan komponen-komponen yang ada didalamnya seperti Java class, XML, Activity, Fragment, Adapter, dll


Setelah itu barulah proses belajar bagaimana pergi dari satu Activity ke Activity lainnya menggunakan Intent, setelah itu barulah belajar tentang bagaimana switch dari Activity ke Fragment, begitupun sebaliknya dari Fragment ke Activity.

Bagi yang belum tahu proses switch antara activity, silakan baca disini : Cara Pindah Activity Menggunakan Intent

Pindah Activity Ke Fragment


Disini ada dua cara bagaimana melakukan switch dari Activity Ke Fragment, antara lain :

1. Gunakan Activity Untuk Menampung Fragment


Sebuah fragment yang bisa tampil menjadi UI (user interface) sudah memiliki activity sendiri saat kita set si fragment tersebut sebagai UI.

Baca juga : Tutorial Java browse image dan menampilkannya di JLabel Netbeans

Namun agar lebih mudah untuk dipahami, pada cara pertama ini kita buatkan kembali activity untuk si fragment, jadi ketika kita mau meng-akses si Fragment, kita cukup memanggil si Activitynya yang sudah kita buat sebelumnya.

Contoh :

Buat layout activity_main.xml

Layout activity_main.xml akan digunakan pada class MainActivity. Kodingan untuk class MainActivity.java adalah sebagai berikut :

Nah, diatas itu adalah class untuk tempat kita pertama kali akan memanggil si Fragment. Langkah selanjutnya adalah kita buat Si Fragment nya dan Activity si Fragment.

Buat sebuah class Fragment (Ciri-ciri fragment adalah selalu mengextends Fragment setelah nama class) NameFragment.java, kodenya seperti dibawah ini :

Kemudian buat layout si NameFragment yaitu fragment_name.xml, kodingannya seperti dibawah ini :

Oke, class fragment kita sudah jadi. Lalu bagaimana agar dari MainActivity.java bisa memanggil NameFragment.java? Perhatikan baik-baik ulasan selanjutnya.

Seperti yang sudah saya sampaikan di deskripsi awal, kita akan membuatkan activity untuk si NameFragment agar mudah di panggil. Paham ya, caranya begini :

Buat layout activity_for_fragment_name.xml

Perhatikan layout diatas, didalam tag ada sebuah attribute class, yang isinya adalah Class Fragment. Dari mana dapat class Fragment com.putuguna.fragmenttoactivity.NameFragment? Itu adalah nama Fragment yang sudah kita buat sebelumnya yaitu NameFragment.

com.putuguna.fragmenttoactivity.NameFragment terdiri dari nama package project dan nama class.
com.putuguna.fragmenttoactivity : nama package project yang kita buat
NameFragment : nama class Fragment yang kita dibuat

Lalu buat class java untuk si Activity NameFragment, berikan nama classnya dengan nama ActForFragmentNameActivity.java, kodingannya seperti dibawah ini :

Seperti yang bisa kita lihat didalam classnya cuma ada deklarasi layout, tidak ada lainnya. Ketika class ini sudah keload, dengan menggunakan attribute class yang ada di tagline fragment, maka secara otomatis akan meload class fragmentnya.

Baca juga : Perbedaan Activity dan Fragment di Android

Cara Pemanggilan NameFragment dari MainActivity

Pada saat proses inilah akan terasa mudahnya, cara pemanggilannya sama persis seperti Intent di Activity. Didalam onClick Button/View lainnya panggil intent nama class Activity si Fragment :

Potongan koding tersebut ada di class MainActivity pada bagian onClick nya. Simple kan?

2.  Tanpa Menggunakan Class Activity


Pada bagian ini akan saya posting besok ya, karena sekarang saya sudah mengantuk, besok kerja hehehe.

Tapi pokok proses pemanggilannya begini :

Kalo belum paham juga, tunggu saya posting artikel lengkapnya.

Pindah Dari Fragment ke Activity


Pada proses perpindahan dari Fragment ke Activity bisa saya katakan mudah, hampir sama persis dengan perpindahan Activity ke Activity.

Caranya sebagai berikut, simpan kode dibawah ini di onClick si Button atau View yang ingin digunakan :

Yang perlu diperhatikan adalah :

.... new Intent(getActivity(), .....), getActivity() disini sebagai pengganti Activity si Fragment, Karena intent mengharusnya Activity sebagai awal sebelum menuju ke Activity tujuannya, makanya kita gunakan getActivity() untuk mengambil Activity si Fragment. Semoga paham ya.

Kemudian pada bagian getActivity().startActivity(intent), sama juga karna untuk men-switch page menggunakan intent, maka harus menggunakan activity. Karena ini fragment, maka didepan sebelum startActivity() kita gunakan getActivity() untuk menggambil Activity si Fragment.

Oke demikian yang bisa saya sampaikan, semoga penjelasan saya mudah dipahami bagi teman-teman yang sedang belajar pemrograman Android. 

Please post a polite comment and do not post a spam
EmoticonEmoticon