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

Android Studio用Java实现单按钮传递EditText值到两个Activity

问题根因

你在TwoTeam页面创建的指向Begindup的Intent没有被实际启动,最终打开Begindup的是BeginAfter计时器结束后创建的新Intent,这个Intent没有携带任何你需要的参数,所以Begindup拿不到数据。
你需要按照页面跳转链路逐层传递参数,修改方案如下:


1. 修改Begin页面的start_button跳转逻辑,把接收到的参数传给BeginAfter

public void start_button(View view) {
    Intent intent = new Intent(this, BeginAfter.class);
    // 把从TwoTeam拿到的参数继续传递到下一页
    intent.putExtra("name1", name_first);
    intent.putExtra("name2", name_second);
    startActivity(intent);
}

2. 修改BeginAfter页面逻辑,接收参数后在计时结束时传给Begindup

public class BeginAfter extends AppCompatActivity {

    TextView textView;
    // 新增变量存储要传递的参数
    String nameFirst, nameSecond;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_begin_after);

        textView = findViewById(R.id.timer);
        // 接收从Begin页面传过来的参数
        nameFirst = getIntent().getStringExtra("name1");
        nameSecond = getIntent().getStringExtra("name2");

        long duration = TimeUnit.MINUTES.toMillis(1);

        new CountDownTimer(duration, 1000) {
            @Override
            public void onTick(long l) {
                String sDuration = String.format(Locale.ENGLISH, "%01d", TimeUnit.MILLISECONDS.toSeconds(l) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(l)));
                textView.setText(sDuration);
            }

            @Override
            public void onFinish() {
                // 跳转Begindup时携带所有需要的参数
                Intent intent = new Intent(BeginAfter.this, Begindup.class);
                intent.putExtra("name1", nameFirst);
                intent.putExtra("name2", nameSecond);
                intent.putExtra("turn2", nameSecond + "'s Turn");
                startActivity(intent);
            }
        }.start();
    }
}

3. 清理TwoTeam页面无用代码

TwoTeam页面中你创建的指向Begindup的Intent完全没有被使用,可以直接删除,修改后的submit_button方法如下:

public void submit_button(View view) {
    name_first = first_name.getText().toString();
    name_second = second_name.getText().toString();
    Intent intent = new Intent(TwoTeam.this, Begin.class);
    intent.putExtra("name1", name_first);
    intent.putExtra("name2", name_second);
    intent.putExtra("turn1", name_first + "'s Turn");
    startActivity(intent);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 11:09:03