我正在使用viewpager构建应用程序,当我在android studio中运行应用程序时,出现此错误
null can not to be a value of a non null type fragment
MyAdapter.kt
package com.example.tabviewpager
import android.content.Context;
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentPagerAdapter
class MyAdapter(private val myContext: Context, fm: FragmentManager, internal var totalTabs: Int) : FragmentPagerAdapter(fm) {
// this is for fragment tabs
override fun getItem(position: Int): Fragment {
when (position) {
0 -> {
// val homeFragment: HomeFragment = HomeFragment()
return HomeFragment()
}
1 -> {
return SportFragment()
}
2 -> {
// val movieFragment = MovieFragment()
return MovieFragment()
}
else -> return null
}
}
// this counts total number of tabs
override fun getCount(): Int {
return totalTabs
}
}
我如何返回空值以避免此错误?
我试图将?
放在返回类型之后,但是我得到了以下内容:
Return type is fragment,which is not a subtype of overridden
您不能从FragmentPagerAdapter的getItem方法中返回null。实现此目的的唯一方法是扩展此类,创建您自己的并重写方法:D