Skip to content

Instantly share code, notes, and snippets.

@fo2rist
Created March 23, 2020 22:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fo2rist/7b4ecfd53d4568d431bf88f7cef9526c to your computer and use it in GitHub Desktop.
Save fo2rist/7b4ecfd53d4568d431bf88f7cef9526c to your computer and use it in GitHub Desktop.
Java To Kotlin Conversion. Step 6. Polish Before
class NonLazyDemoAdapter internal constructor(
fm: FragmentManager
) : FragmentStatePagerAdapter(fm) {
internal class FragmentBundle(
@JvmField
@SerializedName("id")
var id: Int,
@JvmField
@SerializedName("name")
var name: String
) : Serializable
companion object {
@JvmStatic
fun createAdapter(fm: FragmentManager): NonLazyDemoAdapter {
return NonLazyDemoAdapter(fm)
}
}
private val pages = arrayOf(SomePage.FIRST, SomePage.SECOND)
private val cachedFragments: ArrayList<PageFragment> = ArrayList()
init {
for (i in pages.indices) {
cachedFragments[i] = PageFragment.newInstance(pages[i], FragmentBundle(i, pages[i].toString()))
}
}
override fun getItem(position: Int): Fragment {
return cachedFragments[position]
}
override fun getCount(): Int {
return cachedFragments.size
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment