Android 应用仅读取来自 intent 的最后一条额外消息

Android App only reading last extra message from intent

我正在尝试将三个消息从一个 activity 传递到另一个。但是 Android Studio 仅查看最后创建的 "putExtra" 并将其应用于所有输出。我的代码如下。

第一个 activity 创建意图的地方:

     public void buttonOnClick_Goals(View v) {

    Intent intent = new Intent(v.getContext(), Goals.class);

    EditText benchpress = (EditText) findViewById(R.id.txtBenchpress);
    String benchpress_message = benchpress.getText().toString();
    intent.putExtra(BENCH_PR, benchpress_message);

    EditText squat = (EditText) findViewById(R.id.txtSquat);
    String squat_message = squat.getText().toString();
    intent.putExtra(SQUAT_PR, squat_message);

    EditText deadlift = (EditText) findViewById(R.id.txtDeadlift);
    String deadlift_message = deadlift.getText().toString();
    intent.putExtra(DEAD_PR, deadlift_message);

    startActivity(intent);
}

第二个 activity,其中文本字段设置为传递的消息:

        protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_goals);
    Intent intent = getIntent();
    String bench_message = intent.getStringExtra(PersonalRecords.BENCH_PR);
    String squat_message = intent.getStringExtra(PersonalRecords.SQUAT_PR);
    String dead_message = intent.getStringExtra(PersonalRecords.DEAD_PR);

    TextView benchText = (EditText)findViewById(R.id.txtbenchpr);
    benchText.setText(bench_message, TextView.BufferType.EDITABLE);

    TextView squatText = (EditText)findViewById(R.id.txtsquatpr);
    squatText.setText(squat_message, TextView.BufferType.EDITABLE);

    TextView deadText = (EditText)findViewById(R.id.txtdeadpr);
    deadText.setText(dead_message, TextView.BufferType.EDITABLE);

}

确保 BENCH_PR、SQUAT_PR 和 DEAD_PR 具有不同的值!