Kotlin Bundle.putString没有明确添加“ String”,而是“ String?”]]

问题描述 投票:1回答:3
val args = Bundle()
args.putString("type", details.type)

navigator.navigate(context!!, findNavController(), Destination.TYPE, args)

我很困惑,为什么在接收片段中,当我访问传递给它的参数时,会以...进行响应...

val type: String = arguments.getString("type")

arguments.getString都用红色下划线表示,并说“找到的字符串是必需字符串吗?”但是,当我调用方法“ putString”时如何呢?

这将导致文本未在新片段中呈现,并且我认为这是可空性问题。

val args = Bundle()args.putString(“ type”,details.type)navigator.navigate(context !!,findNavController(),Destination.TYPE,args)我对于为什么在接收片段中感到困惑我去...

android-fragments kotlin bundle
3个回答
0
投票

您是对的,这是一个零技能问题。

首先,您应该确定是否期望值,因此请尝试添加“?”或“ !!”,我建议使用“?”,或者使用if {} else


0
投票

为了安全地读取字符串,您可以使用:


0
投票

这是接收方Fragment中可用的知识问题。

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