在 android 工作室的 2 个活动中携带意图数据
carrying intent data throughout 2 activities in android studio
我将一些 edittext 字符串数据从第二个 activity 传送到第一个,并将字符串数据放入第一个 activity 的文本视图中。
这很好用。
当我从第一个 activity 回到第二个 activity (使用选项菜单完成)时,我想将之前输入的 edittext 数据带回到第二个的编辑文本中activity。我无法让它继续运行 - 第二个 activity edittexts 返回到原始 edittext 设置(空)。
这是我的第二个 activity 代码:
public void goToMain(View view) { //run when a button is clicked
Intent intent = new Intent(setPlayersActivity.this, MainActivity.class);
intent.putExtra("P1",p1EditText.getText().toString());
startActivity(intent);
}
在我的第一个 activity 代码中,我在创建时有:
Intent name = getIntent();
p1TextView.setText(name.getStringExtra("P1"));
从第一个 activity 到第二个
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
if (item.getItemId() == R.id.resetAll) {
updateScoreTeamA(scoreA = 0);
} else if (item.getItemId() == R.id.setPlayers) {
Intent intent = new Intent(MainActivity.this, setPlayersActivity.class);
startActivity(intent);
}
return super.onOptionsItemSelected(item);
}
到目前为止一切正常。
虽然返回到第二个 activity,但编辑文本再次为空(我想将之前输入的数据带回此 activity)。
为了用之前输入的字符串数据填充编辑文本,我在第二个 activity 的创建中尝试了以下操作。
p1EditText.setText(getIntent().getStringExtra("P1"));
在此先感谢您的帮助。我是编程初学者,无法想象没有这个社区会取得任何进展。
当您更改 activity 时,您必须为特定意图提供数据。不然不行
Intent intent = new Intent(MainActivity.this, setPlayersActivity.class);
intent.putExtra("P1","data");
startActivity(intent);
我将一些 edittext 字符串数据从第二个 activity 传送到第一个,并将字符串数据放入第一个 activity 的文本视图中。 这很好用。
当我从第一个 activity 回到第二个 activity (使用选项菜单完成)时,我想将之前输入的 edittext 数据带回到第二个的编辑文本中activity。我无法让它继续运行 - 第二个 activity edittexts 返回到原始 edittext 设置(空)。
这是我的第二个 activity 代码:
public void goToMain(View view) { //run when a button is clicked
Intent intent = new Intent(setPlayersActivity.this, MainActivity.class);
intent.putExtra("P1",p1EditText.getText().toString());
startActivity(intent);
}
在我的第一个 activity 代码中,我在创建时有:
Intent name = getIntent();
p1TextView.setText(name.getStringExtra("P1"));
从第一个 activity 到第二个
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
if (item.getItemId() == R.id.resetAll) {
updateScoreTeamA(scoreA = 0);
} else if (item.getItemId() == R.id.setPlayers) {
Intent intent = new Intent(MainActivity.this, setPlayersActivity.class);
startActivity(intent);
}
return super.onOptionsItemSelected(item);
}
到目前为止一切正常。
虽然返回到第二个 activity,但编辑文本再次为空(我想将之前输入的数据带回此 activity)。
为了用之前输入的字符串数据填充编辑文本,我在第二个 activity 的创建中尝试了以下操作。
p1EditText.setText(getIntent().getStringExtra("P1"));
在此先感谢您的帮助。我是编程初学者,无法想象没有这个社区会取得任何进展。
当您更改 activity 时,您必须为特定意图提供数据。不然不行
Intent intent = new Intent(MainActivity.this, setPlayersActivity.class);
intent.putExtra("P1","data");
startActivity(intent);