Kotlin中Intent传递Int参数报错:getIntExtra缺少defaultValue参数
Intent传递Int类型参数报错原因及解决办法
报错原因
- 方法参数缺失:
getIntExtra()方法必须传入两个参数——键名和默认值。这是因为Int是基本数据类型(非空),无法像String那样返回null,所以Android SDK设计该方法时要求必须指定默认值,当Intent中找不到对应键的值时返回该值。你只传入了键"a",缺少默认值参数,因此触发编译错误。 - 键名不匹配:第一个Activity中用键"plus"传递数据,但第二个Activity中用键"a"接收,即便补全默认值,也无法拿到正确的传递值,只会得到默认值。
修正后的代码
class SecondActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // 匹配传递时的键名,并补充默认值 val plus = intent.getIntExtra("plus", 0) // 0为默认值,可根据业务需求调整 } }
内容的提问来源于stack exchange,提问作者Weird_dog
相关产品推荐
相关产品推荐

