在android studio的2个活动中携带意图数据

jc3wubiy  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(374)

我将第二个活动中的一些edittext字符串数据带到第一个活动中,并将字符串数据放入第一个活动中的textviews中。这很管用。
当我从第一个活动返回到第二个活动(使用选项菜单完成)时,我希望将先前输入的edittext数据带回第二个活动中的编辑文本中。我不能让它继续-第二个活动edittext返回到原来的edittext设置(空)。
这是我的第二个活动代码:

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);
}

在我的第一个活动代码中,我在

Intent name = getIntent();
     p1TextView.setText(name.getStringExtra("P1"));

从第一个活动转到第二个活动

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);
 }

到现在为止一切正常。
但是,在返回到第二个活动时,editText再次为空(我想将之前输入的数据带回这个活动)。
为了用先前输入的字符串数据填充editText,我在创建第二个活动时尝试了以下操作。

p1EditText.setText(getIntent().getStringExtra("P1"));

事先谢谢你的帮助。我是一个编程初学者,不能想象没有这个社区会有什么进步。

bd1hkmkf

bd1hkmkf1#

当你改变你的活动时,你必须提供特定意图的数据。否则就不行了

Intent intent = new Intent(MainActivity.this, setPlayersActivity.class);
intent.putExtra("P1","data");
startActivity(intent);

相关问题