Pemasangan
FrameLayout
di pasangkan ke dalam xml yang ingin tampilannya ingin di timpa oleh tampilan fragment kitajangan lupa untuk menambahkan
@+id
pada `FrameLayout
agar bisa dilakukan pemasangan fragment di sisi pemrogramanya.
<FrameLayout
android:id="@+id/framelayout"
android:layout_width="match_parent"
android:layout_height="match_parent" />
pada fragment ada 3 bentuk overide function yang harus di perhatikan
onCreate
: di saat fragment itu terbentuk
onCreateView
: fungsi pembentukan tampilan pada android
onViewCreated
: fungsi bahwa pembentukan fragment telah selesai, sama serpetiActivity#onCreate
mulai dari
onViewCreated
kita sudah bisa memasangkan algoritma programing kita ke dalam filefragment
yang attribute xml nya telah memilikiid
.untuk fungsi bawa'an
fragment
selain yang tertera di atas
kalian bisa melihat penjelasan lebih detailnya di dokumentasi fragment android studio.
class FragmentA: Fragment() {
lateinit var binding : FragmentABinding
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
binding = FragmentABinding.inflate(layoutInflater)
return binding.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
binding.textview.setOnClickListener {
binding.textview.text = "plus ultraa"
}
}
}
tidak seperti attribut
TextView
yang mengganti text nya dengan fungsi.text
ataupunRecyclerView
yang memilik fungsi.adapter
.disini
FrameLayout
hanya sebagai wadah yang keberadaanya akan direplace
olehfragment
untuk penggantian tampilan
FrameLayout
kita memerlukan bantuan funsi daribeginTransaction
padasupportFragmentManager
pada fungsi
replace
kita memerlukanFrameLayout
id pada xml, dan juga classFragment
yang akan menggantikan tempatFrameLayout
untuk mendapatkan
FarmeLayout
id ada 2 cara
yang pertama menambahkan.id
pada id framelayout xml (binding.framelayout.id
)
yang kedua bia menggunakanR.id.
lalu di susul dengan nama id pada frame layout (R.id.framelayout
)untuk class
Fragment
jangan lupa di berikan buka dan tutup kurung di akhiran nama class nya.
supportFragmentManager.beginTransaction
.replace(
binding.framelayout.id,
FragmentA()
).commit