向Intent传递Int后Android Studio报错:getIntExtra参数不匹配
解决Intent.getIntExtra()参数不匹配的问题
Android的Intent.getIntExtra()方法要求必须传入两个参数:String类型的键名和int类型的默认值,你只传了键名,所以编译器抛出参数列表不匹配的错误。
正确代码示例
1. RecyclerView Adapter中传递数据
确保你传递的是正确的int类型图片资源ID:
// 点击事件中创建Intent Intent intent = new Intent(context, cuisineInformationActivity.class); // 传入键名"myImg"和对应的图片资源ID intent.putExtra("myImg", images[position]); context.startActivity(intent);
2. cuisineInformationActivity中接收数据
必须补充传入默认值(当Intent中没有对应键时返回的兜底值,比如0):
Intent intent = getIntent(); // 第二个参数为默认值,可根据需求设置为0或其他无效资源ID int imgResId = intent.getIntExtra("myImg", 0); // 用资源ID加载图片 ImageView imageView = findViewById(R.id.your_image_view_id); imageView.setImageResource(imgResId);
额外注意
- 确认
images[position]确实是安卓资源ID(比如R.drawable.cuisine_1这类int值),而非其他类型数据。 - 默认值的作用:如果Intent未携带指定键,或数据类型不匹配,方法会返回你设置的默认值,避免运行时异常。
内容的提问来源于stack exchange,提问作者user18544509
相关产品推荐
相关产品推荐

