Mode Malam
| Mode Tampilan
Penulis : admin

Home / Programming / Tutorial Membuat Base Fragment Pada Aplikasi Android
Tutorial Membuat Base Fragment Pada Aplikasi Android

Tutorial Membuat Base Fragment Pada Aplikasi Android


Fragment adalah sebuah component yang berkerja sebagai interface antar aplikasi dengan user. Berbeda dengan Activity, fragment tidak dapat berjalan sendiri tanpa induk yaitu Activity. Fragment sama halnya dengan "<iframe>" pada sebuah halaman web yang berjalan di dalam halaman web.

Pada kesempatan kali ini, saya anggap sobat sekalian sudah bisa membuat fragment pada aplikasi android, kalo belum silahkan sobat baca artikel creating and  using fragment. Jadi pada artikel ini saya akan menjelaskan bagaimana membuat fragment yang lebih powerfull dan lebih mudah di terapkan dalam membuat fragment lainya. Yaitu dengan cara memodifikasinya dan menambahkan beberapa fungsi penting kedalamnya, kemudian di bungkus di dalam class bernama BaseFragment. Kurang lebih caranya sama seperti artikel saya sebelumnya tentang cara membuat base activity pada andorid.

Yuk langsung saja ke tutorialnya,

advertisement

Didalam proyek android kalian silahkan buat folder package baru dengan nama base dengan cara klik kanan di bagian package name, klik New dan klik Package.

Tutorial Membuat Base Fragment Pada Aplikasi Android

Kemuduan buat class BaseFragmentnya dengan cara klik kanan di package folder base yang baru kita bikin tadi, klik New dan klik Kotlin File/Class.

Tutorial Membuat Base Fragment Pada Aplikasi Android

Beri nama class dengan BaseFragment dan Jenis file berupa Class

Tutorial Membuat Base Fragment Pada Aplikasi Android

Sekarang kita masuk ke tahap pengodingan class BaseActivitynya. Silahkan tulis code berikut didalamnya.

abstract class BaseFragment: Fragment() {
    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        return inflater.inflate(setLayout(), container, false)
    }

    override fun onActivityCreated(savedInstanceState: Bundle?) {
        super.onActivityCreated(savedInstanceState)
        try {
            initialData()
        } catch (e: Exception) {
            e.printStackTrace()
        }

    }
    //----------SetUp------------------------------
    abstract fun setLayout(): Int

    abstract fun initialData()
    //-------Buat fungsi-fungsi kalian dibawah sini--------

    //Memanggil Toast menjadi lebih sederhana
    fun showToast(message :String) {
        Toast.makeText(this.context,message,Toast.LENGTH_LONG)
    }
    //Membuat simple alertDialog
    fun showAlertDialogYesNo(message: String,action:() -> Unit){
        val builder = AlertDialog.Builder(this.context)
        builder.setCancelable(false)
        builder.setMessage("Do you want to Exit?")
        builder.setPositiveButton("Yes") { _, _ ->
            action()
        }
        builder.setNegativeButton("No") { dialog, _ ->
            dialog.cancel()
        }
        val alert = builder.create()
        alert.show()
    }

}

Penjelasan,

abstract class BaseFragment: Fragment()

Class BaseFragment kita buat menjadi abstract class agar class tersebut tidak bisa langsung di create sebagai object tapi harus di extance ke class turunan. Class BaseFragment juga sebenernya memarisi dari class Fragment().

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
	return inflater.inflate(setLayout(), container, false)
}
override fun onActivityCreated(savedInstanceState: Bundle?) {
	super.onActivityCreated(savedInstanceState)
	try {
		initialData()
	} catch (e: Exception) {
		e.printStackTrace()
	}
}
abstract fun setLayout(): Int
abstract fun initialData()

Class BaseFragment kita buat menjadi abstract class agar class tersebut tidak bisa langsung di create sebagai object tapi harus di extance ke class turunan. Class BaseFragment juga sebenernya memarisi dari class Fragment().

fun showToast(message :String) {
	...
}
fun showAlertDialogYesNo(message: String,action:() -> Unit){
	...
}

Dan terakhir kita memberikan fitur tambahan beupa showToat dan showAlertDialogYesNo. agar ketika kita ingin membuat Toast atau AlertDialog kita tidak perlu menulis code yang panjang, hanya cukup memanggil fungsi-fungsi tersebut. Kalian juga bisa menambah fungsi-fungsi penting lainnya.

Cara Menggunakan Class BaseFragment

Cara implementasi base fragment nya sangat sederhana, kalian buat fragment seperti biasanya, kemudian kita inheritance/extend nya dari Fragment menjadi BaseFragment

class BlankFragment : Fragment()
//Menjadi 
class BlankFragment : BaseFragment()

Kemudian kalian hapus semua metode yang ada di dalamnya, kemudian arahkan kursor kalian ke nama classnya. Tekan Alt+Enter dan klik implementasi.

Tutorial Membuat Base Fragment Pada Aplikasi Android

Kemudian kalian select setLayout dan initData untuk di implementasikan di class fragmentnya dan klik OK.

Tutorial Membuat Base Fragment Pada Aplikasi Android

Terakhir kita return layout fragmentnya di method setLayout. Sehingga codenya menjadi seperti ini.

class BlankFragment : BaseFragment() {
    override fun setLayout(): Int {
        return R.layout.fragment_blank
    }
    override fun initData() {
      ...
    }
}

Sekarang fragment kalian sudah siap di gunakan sesuai program kalian. Gimana mudah bukan?

advertisement

Terimakasih sudah mampir di artikel cara membuat Base Fragment. Jangan lupa di share jika kalian merasa artikel ini bermanfaat, kalau ada pertanyaan silahkan tulis di kolom komentar. Good luck!

Tags: #android #kotlin #fragment
Bagikan :

Komentar:

Silahkan berkomentar dengan baik dan bijak!

Name * :
Email :
Website :
Comment :


This website uses cookies to ensure you get the best experience on our website

learn more