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

Android Studio中extras.putString()无法使用问题求助

解决Android中通过Intent在Activity间传递参数并显示到TextView的问题

嘿,我看你已经在PAActivity里拿到了各个EditText的实例,接下来咱们一步步把输入的数据传递到目标Activity,再显示到TextView里~

第一步:完善PAActivity的提交逻辑,传递数据

首先把你没写完的代码补全,先获取EditText里的输入内容,然后给提交按钮设置点击事件,通过Intent把数据带过去:

// PAActivity.java
EditText Fname = (EditText) findViewById(R.id.editFirst);
EditText Lname = (EditText) findViewById(R.id.editLast);
EditText email = (EditText) findViewById(R.id.editEmail);
EditText phone = (EditText) findViewById(R.id.editPhone);
Button submit = (Button) findViewById(R.id.submit);

submit.setOnClickListener(v -> {
    // 获取输入框内容,记得trim()去掉首尾空格
    String Fnameholder = Fname.getText().toString().trim();
    String Lnameholder = Lname.getText().toString().trim();
    String emailHolder = email.getText().toString().trim();
    String phoneHolder = phone.getText().toString().trim();

    // 创建Intent,指定跳转到目标Activity(这里假设目标Activity叫ResultActivity)
    Intent intent = new Intent(PAActivity.this, ResultActivity.class);
    // 把数据存入extras,自定义KEY方便后续获取
    intent.putExtra("KEY_FIRST_NAME", Fnameholder);
    intent.putExtra("KEY_LAST_NAME", Lnameholder);
    intent.putExtra("KEY_EMAIL", emailHolder);
    intent.putExtra("KEY_PHONE", phoneHolder);

    // 启动目标Activity
    startActivity(intent);
});

第二步:在目标Activity中接收数据并显示到TextView

接下来在你的目标Activity(比如ResultActivity)里,接收传递过来的参数,然后设置到对应的TextView上:

// ResultActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_result); // 对应你的目标页面布局

    // 找到布局里的TextView
    TextView tvFirstName = findViewById(R.id.tv_first_name);
    TextView tvLastName = findViewById(R.id.tv_last_name);
    TextView tvEmail = findViewById(R.id.tv_email);
    TextView tvPhone = findViewById(R.id.tv_phone);

    // 获取传递过来的Intent和extras
    Intent intent = getIntent();
    if (intent != null && intent.getExtras() != null) {
        String firstName = intent.getStringExtra("KEY_FIRST_NAME");
        String lastName = intent.getStringExtra("KEY_LAST_NAME");
        String email = intent.getStringExtra("KEY_EMAIL");
        String phone = intent.getStringExtra("KEY_PHONE");

        // 设置文本到TextView
        tvFirstName.setText(firstName);
        tvLastName.setText(lastName);
        tvEmail.setText(email);
        tvPhone.setText(phone);
    }
}

几个要注意的小细节

  • 别忘在AndroidManifest.xml里注册你的目标Activity,不然会崩溃哦:
    <activity android:name=".ResultActivity" />
    
  • 可以给EditText加非空判断,比如如果用户没输入名字,弹出提示避免传空字符串过去
  • 如果想避免KEY拼写错误,可以把KEY定义成全局静态常量,比如在PAActivity里写public static final String KEY_FIRST_NAME = "KEY_FIRST_NAME";,两边直接调用即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:47:25