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

如何将API响应传递至新Activity?Intent传值为空问题求解

解决Intent传值为空及整数解析问题

我一眼就发现问题所在啦,咱们一步步来修复:

1. 核心错误:Calculation中获取Intent的方式不对

你在Calculation.java里新建了一个空的Intent,而不是获取启动当前Activity的那个携带数据的Intent!正确的做法是用getIntent()方法来获取。

2. 补充MainPage中缺失的启动Activity代码

你的MainPage.java里只创建了Intent并添加了数据,但没有调用startActivity()来启动Calculation,这也是数据传不过去的关键原因之一!

修正后的完整代码

MainPage.java

public void onResponse(String response) {
    System.out.println("output -- "+response);
    String members = response;
    Intent intn = new Intent(MainPage.this, Calculation.class);
    intn.putExtra("MEMBERS", members);
    // 一定要加上这句,启动目标Activity
    startActivity(intn);
}

Calculation.java

// 获取启动当前Activity的Intent,而不是新建空的
Intent intn = getIntent();
String members = intn.getStringExtra("MEMBERS");
System.out.println("dmkmdk" + members);

// 安全解析为整数,避免格式错误导致崩溃
int no_of_members = 0;
if (members != null && !members.isEmpty()) {
    try {
        no_of_members = Integer.parseInt(members);
    } catch (NumberFormatException e) {
        // 处理字符串无法转成整数的情况,比如提示用户或者设置默认值
        e.printStackTrace();
    }
}

额外注意事项

  • 确保MEMBERS这个key在两个Activity中完全一致(大小写敏感)
  • 如果API返回的响应可能包含非数字字符,一定要用try-catch包裹解析逻辑,防止App崩溃

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 06:55:42