tablayout+viewpager
override fun onCreate ( savedInstanceState: Bundle? ) {
super . onCreate ( savedInstanceState)
setContentView ( R. layout. activity_main)
val titles = arrayListOf ( "放映" , "推荐" )
var list = mutableListOf< Fragment> ( )
list. add ( BlankFragment ( ) )
list. add ( BlankFragment2 ( ) )
viewpager. adapter= object : FragmentPagerAdapter ( supportFragmentManager) {
override fun getItem ( position: Int) : Fragment {
return list[ position]
}
override fun getCount ( ) : Int {
return list. size
}
override fun getPageTitle ( position: Int) : CharSequence? {
return titles[ position]
}
}
tablayout. setupWithViewPager ( viewpager)
}
tablayout+framelayout
val blankFragment = BlankFragment ( )
val blankFragment2 = BlankFragment2 ( )
override fun onCreate ( savedInstanceState: Bundle? ) {
super . onCreate ( savedInstanceState)
setContentView ( R. layout. activity_main)
initTab ( )
supportFragmentManager. beginTransaction ( ) . replace ( R. id. framelayout, blankFragment) . commit ( )
}
private fun initTab ( ) {
val titles = arrayListOf ( "放映" , "推荐" )
for ( i in 0 .. 1 ) {
tablayout. addTab ( tablayout. newTab ( ) . setText ( titles[ i] ) )
}
tablayout. addOnTabSelectedListener ( object : TabLayout. OnTabSelectedListener {
override fun onTabReselected ( p0: TabLayout. Tab? ) {
}
override fun onTabUnselected ( p0: TabLayout. Tab? ) {
}
override fun onTabSelected ( p0: TabLayout. Tab? ) {
p0? . apply {
when ( position) {
0 -> {
supportFragmentManager. beginTransaction ( ) . replace ( R. id. framelayout, blankFragment) . commit ( )
}
1 -> {
supportFragmentManager. beginTransaction ( ) . replace ( R. id. framelayout, blankFragment2) . commit ( )
}
}
}
}
} )
}
radiogroup+viewpager
override fun onCreate ( savedInstanceState: Bundle? ) {
super . onCreate ( savedInstanceState)
setContentView ( R. layout. activity_main)
val syFragment = SyFragment ( )
val yyFragment = YyFragment ( )
val wdFragment = WdFragment ( )
val list = mutableListOf ( syFragment, yyFragment, wdFragment)
viewpager. adapter = MyAdapter ( list, supportFragmentManager)
viewpager. addOnPageChangeListener ( object : ViewPager. OnPageChangeListener {
override fun onPageScrollStateChanged ( state: Int) {
}
override fun onPageScrolled ( position: Int, positionOffset: Float, positionOffsetPixels: Int) {
}
override fun onPageSelected ( position: Int) {
radiogroup. check ( radiogroup. getChildAt ( position) . id)
}
} )
radiogroup. setOnCheckedChangeListener ( object : RadioGroup. OnCheckedChangeListener {
override fun onCheckedChanged ( group: RadioGroup? , checkedId: Int) {
viewpager. setCurrentItem ( radiogroup. indexOfChild ( radiogroup. findViewById ( checkedId) ) )
}
} )
}
class MyAdapter ( val list: List< Fragment> , fm: FragmentManager? ) : FragmentStatePagerAdapter ( fm) {
override fun getItem ( position: Int) : Fragment {
return list[ position]
}
override fun getCount ( ) : Int {
return list. size
}
}