【问题标题】:carrying intent data throughout 2 activities in android studio在 android studio 的 2 个活动中携带意图数据
【发布时间】:2020-12-10 04:50:47
【问题描述】:

我将一些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);
}

在我的第一个活动代码中,我在 on create 中有:

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

到目前为止一切正常。

返回到第二个活动时,编辑文本再次为空(我想将先前输入的数据带回此活动)。

为了用之前输入的字符串数据填充编辑文本,我在第二个活动的创建时尝试了以下操作。

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

提前感谢您的帮助。我是一名编程初学者,如果没有这个社区,我无法想象取得任何进展。

【问题讨论】:

    标签: java android android-intent


    【解决方案1】:

    当您更改活动时,您必须为该特定意图提供数据。否则就不行了

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-08
      • 1970-01-01
      • 1970-01-01
      • 2018-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多