我收到来自Fragment的错误。
我已经将android.support.v4.app.Fragment更改为androidx.Fragment.app.Fragment,并将其归结为一个错误。如有任何帮助,我们将不胜感激。
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 GenelFragment()
}
1 -> {
return GovdeFragment()
}
2 -> {
// val movieFragment = MovieFragment()
return InisFragment()
}
3 -> {
// val movieFragment = MovieFragment()
return UcusFragment()
else -> return null
}
}
我们怎样才能纠正那个里的错误。我相信这与进口有关,但ı没有解决。
您应该保证位置在0..3,否则抛出IllArgumentException来告诉您错误的
当您删除?
符号,并返回getItem(position)
而不是null时,它将修复。
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 GenelFragment()
}
1 -> {
return GovdeFragment()
}
2 -> {
// val movieFragment = MovieFragment()
return InisFragment()
}
3 -> {
// val movieFragment = MovieFragment()
return UcusFragment()
else->{throw IllegalStateException("$position is illegal") }
}
}