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
}
}