By Alvin Alexander. Last updated: December 1, 2018
As a note to self, here’s an example of implementing a FragmentStatePagerAdapter
Android class in Kotlin:
import android.support.v4.app.Fragment
import android.support.v4.app.FragmentManager
import android.support.v4.app.FragmentStatePagerAdapter
import java.util.ArrayList
class TabAdapter internal constructor(fm: FragmentManager) : FragmentStatePagerAdapter(fm) {
private val mFragmentList = ArrayList<Fragment>()
private val mFragmentTitleList = ArrayList<String>()
override fun getItem(position: Int): Fragment {
return mFragmentList[position]
}
fun addFragment(fragment: Fragment, title: String) {
mFragmentList.add(fragment)
mFragmentTitleList.add(title)
}
/**
* If you want to only show icons, return null from this method.
* @param position
* @return
*/
override fun getPageTitle(position: Int): CharSequence? {
return mFragmentTitleList[position]
}
override fun getCount(): Int {
return mFragmentList.size
}
}
I use this class in my TabLayout Example project (a TabLayout/Fragment/ViewPager example). This Kotlin code is based on this original Java example.