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

Android中intent.putExtra传值Fragment正常但Activity取null如何解决

问题定位

你的数据库层代码没有任何问题,参数获取为空完全是Intent传参逻辑错误导致的:

  • 你在MainActivity中虽然创建了指向AddModifyTask的intent1,并通过putExtra存入了account参数,但你从未执行startActivity(intent1),这个携带参数的Intent根本没有被用来启动页面,创建后就被系统回收了。
  • 你实际登录后只启动了HomeActivity,你给启动HomeActivity的Intent存入了account参数,所以挂载在HomeActivity上的Fragment调用getActivity().getIntent().getStringExtra("account")时,拿到的是HomeActivity绑定的Intent里的参数,自然能取到正确值。
  • 你的AddModifyTask不是从MainActivity直接启动的,应该是后续从HomeActivity中跳转打开的,而你跳转时没有给启动AddModifyTask的Intent存入account参数,所以在AddModifyTask里调用getIntent().getStringExtra("account")必然返回null。
修复方法

二选一即可,优先选第一种,改动最小:

方案1:跳转AddModifyTask时补传参数

在HomeActivity中启动AddModifyTask的位置,把HomeActivity收到的account参数透传过去:

// HomeActivity中跳转AddModifyTask的代码处
Intent addTaskIntent = new Intent(HomeActivity.this, AddModifyTask.class);
addTaskIntent.putExtra("account", getIntent().getStringExtra("account"));
startActivity(addTaskIntent);

你现有AddModifyTask里的取值逻辑不需要做任何修改,就能正常获取到account值。

方案2:用本地存储持久化账号参数(适合多页面复用账号信息的场景)

如果后续多个页面都需要用到账号信息,层层通过Intent传参比较繁琐,可以在登录成功后把account存入SharedPreferences,所有页面直接从本地读取即可,不需要依赖Intent传参:

  1. 登录成功后存入参数:
// MainActivity登录校验通过的位置
SharedPreferences userSp = getSharedPreferences("user_info", MODE_PRIVATE);
userSp.edit().putString("account", account).apply();
  1. 任意页面需要account时直接读取:
SharedPreferences userSp = getSharedPreferences("user_info", MODE_PRIVATE);
String account = userSp.getString("account", "");
额外代码问题

你贴出的FragmentonCreateView代码有括号匹配错误,给文本赋值的代码块多了一个闭合大括号,会导致编译失败,修正后代码如下:

public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.fragment_profile, container, false);
        TextView textViewAccount = v.findViewById(R.id.textViewAccount);
        String account = getActivity().getIntent().getStringExtra("account");
        textViewAccount.setText(account);
        return v;
    }

内容的提问来源于stack exchange,提问作者Bùi Minh Thương

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 21:24:30