首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >null不能是非null类型片段的值

null不能是非null类型片段的值
EN

Stack Overflow用户
提问于 2020-02-07 03:59:21
回答 1查看 711关注 0票数 0

我正在使用viewpager构建一个应用程序,当我在android studio中运行应用程序时,我得到了这个错误

代码语言:javascript
运行
复制
null can not to be a value of a non null type fragment

MyAdapter.kt

代码语言:javascript
运行
复制
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
    }
}

如何返回空值以避免此错误?

我尝试将?放在返回类型之后,但得到了以下结果:

代码语言:javascript
运行
复制
Return type is fragment,which is not a subtype of overridden
EN

回答 1

Stack Overflow用户

发布于 2020-02-07 04:06:45

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60102633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档