未解析的引用 newInstance

时间:2021-02-22 17:43:43

标签: instance new-operator

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

}

0 个答案:

没有答案