 
                        
@Override
    public void onClick(View v) {
        switch (v.getId()) {
        case R.id.xxx:
            Intent intent = new Intent();
            intent.setClass(this, xxxActivity.class);
            startActivityForResult(intent, 5);
            break;
        default:
            break;
        }
@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (data == null)
            return;
        if (requestCode == 5) {
            boolean IsNameModified = data.getBooleanExtra("IsNameModified", false);
            Logs.e("result", IsNameModified + "" );
            if (IsImgModified) {
                tv_user_name.setText(IsNameModified+"");
            }
        }
    }Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
IsNameModified和IsImgModified是不同的两个变量吗?如果是不同的,那么IsImgModified在哪里赋值了?在onActivityResult的if判断里IsImgModified值又是什么?你有没有检查过这些问题?
boolean可以直接和字符串拼接吗?
试试String.valueOf。
IsImgModified 检查一下这个值,确定不是false.
你的代码里都没有说
IsImgModified这个变量在哪里赋值的,能打印出intent的值那就表明返回的数据是有的;setText无法设置就得看那段代码是否有走到:查一查
IsImgModified这个变量的赋值情况;那个断点看看
setText那里有没有走到;IsImgModified默认是false 没赋值肯定不会走下一步
你从intent里拿到的值是IsNameModified,在做判断时用的是IsImgModified,如果这个IsImgModified是false的话,if语句里面的代码不会执行的吧?
Logs.e("result", IsNameModified + "" );
一般用的不是Log吗?
(个人见解)
将 super.onActivityResult 这句注释。然后从下一句进行断点调试。
IsNameModified 为false,并没有拿到传来的值;
IsNameModified 为全局变量,重名了,默认就为false;