我是 kotlin 的新手。我已将我的代码从 java 转换为 kotlin,但我在 newInstance 中得到未解析的引用。如何解决这个问题?
class MainPagerAdapter(fm: FragmentManager) : FragmentStatePagerAdapter(fm) {
私有 val 片段 = SparseArray
private val tabTitles = arrayOf("American", "Vegan", "Asian", "Mediterranean", "European")
override fun getItem(position: Int ): Fragment? {
val fragmentReference = fragments[position]
return if (fragmentReference?.get() != null) {
fragmentReference.get()
} else {
return when (position) {
0 -> AmericanFragment.newInstance.apply(tabTitles[position])
1 -> VeganFragment.newInstance(tabTitles[position])
2 -> AsianFragment.newInstance(tabTitles[position])
3 -> MediterraneanFragment.newInstance(tabTitles[position])
4 -> EuropeanFragment.newInstance(tabTitles[position])
else -> error("Incorrect position: $position")
}
}}
override fun getCount(): Int {
return TAB_COUNT
}
override fun getItemPosition(`object`: Any): Int {
return POSITION_NONE
}
override fun getPageTitle(position: Int): CharSequence? {
return tabTitles[position]
}
companion object {
private const val TAB_COUNT = 5
}
override fun instantiateItem(container: ViewGroup, position: Int): Any {
val fragment = super.instantiateItem(container, position) as Fragment
fragments.put(position, WeakReference(fragment))
return fragment
}
}