You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

报错‘运算符&&不能应用于int、int’,Android头像更换功能求助

报错原因与解决方法:operator '&&' cannot be applied to 'int', 'int'

错误根源

你在if条件判断里误用了赋值运算符=,而非用于比较的相等运算符==:

  • requestCode = 1是把数值1赋值给requestCode,这个表达式的返回值是int类型的1;同理resultCode = RESULT_OK也是赋值操作,返回int类型的RESULT_OK。
  • &&逻辑运算符要求两侧必须是布尔值(true/false),但这里两侧都是int类型,因此编译器抛出类型不匹配的报错。

修正后的代码

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    // 将赋值运算符=替换为相等比较运算符==
    if (requestCode == 1 && resultCode == RESULT_OK && data != null){
        imagePath = data.getData();
        getImageinImageView();
    }
}

额外优化建议

  • 避免直接使用魔法数字(比如代码里的1),建议定义常量替代,示例:
    private static final int REQUEST_CODE_SELECT_AVATAR = 1;
    
    后续判断时用requestCode == REQUEST_CODE_SELECT_AVATAR,代码可读性与可维护性更强。
  • 若你使用AndroidX或较新版本的Android SDK,推荐使用registerForActivityResult替代onActivityResult,这是官方主推的新API,生命周期感知更安全。

内容的提问来源于stack exchange,提问作者n00b

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 16:01:01