null不能为非null类型片段的值

问题描述 投票:-1回答:1

我正在使用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
android kotlin null adapter
1个回答
0
投票

您不能从FragmentPagerAdapter的getItem方法中返回null。实现此目的的唯一方法是扩展此类,创建您自己的并重写方法:D

© www.soinside.com 2019 - 2024. All rights reserved.