.sample5_viewPager.kt
class sample5_viewPager : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_sample5_view_pager)
//sample4 Fragment를 불러와서 사용
val fragmentOne = sample4fragment()
val adapters = pagerAdapter(supportFragmentManager)
//넣어주고
adapters.addItems(fragmentOne)
//adapter에 연동시켜줌
viewPager.adapter = adapters
//탭 레이아웃에도 연동시켜줌
tabLayout.setupWithViewPager(viewPager)
//Tab의 0번째 인덱스를 가져와서 aa 라는 이름을 지어줌
tabLayout.getTabAt(0)?.setText("aa")
//응용해서 setCostomView로 할수 있음
}
//PagerAdapter 구현0
//fragment를 하나씩 리스트에 넣어줌.
private inner class pagerAdapter(fragmentmanager :FragmentManager):FragmentStatePagerAdapter(fragmentmanager) {
private val fragments : ArrayList<Fragment> = ArrayList()
override fun getItem(position: Int): Fragment {
return fragments[position]
}
override fun getCount(): Int {
return fragments.size
}
fun addItems(item:Fragment){
fragments.add(item)
}
}
}
.activity_sample5_view_pager.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent"
tools:context=".sample5_viewPager">
<com.google.android.material.tabs.TabLayout
android:layout_width="match_parent"
android:id="@+id/tabLayout"
android:layout_height="50dp"/>
<androidx.viewpager.widget.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
.sample5_viewPager.kt
.activity_sample5_view_pager.xml