如何向之前的活动传递数据?

11 浏览
0 Comments

如何向之前的活动传递数据?

这个问题已有答案:

如何在安卓上管理startActivityForResult

我遇到了下面的问题。我有ActivityAActivityB。在ActivityA中,我有一些单选按钮,用户可以选择它们。从ActivityA访问ActivityB,所以当我按下一个按钮时,我进入ActivityB。在ActivityB中,我做一些计算,并想将结果返回给ActivityA,但在进入ActivityB之前保存在ActivityA中的更改。

如果我使用finish(),我会返回到ActivityA,选定的按钮会被保存,但是ActivityB中的结果没有传递给ActivityA

我想知道是否有一种方法可以实现这个目标?

admin 更改状态以发布 2023年5月24日
0
0 Comments

使用startActivityForResult()启动Activity B,并使用setResult()将值从Activity B传递到Activity A,并从onActivityResult()方法中检索结果。

例如...

ActivityA.java中...

Intent i = new Intent(ActivityA.this, ActivityB.class);    
startActivityForResult(i, 1);

ActivityB.java中...向ActivityA返回结果时...

Intent i = new Intent();
i.putExtra("result", YourResult);
setResult(1, i);
finish();

现在,在ActivityA中,如下检索结果...

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) {     
  super.onActivityResult(requestCode, resultCode, data); 
  if(resultCode == 1)
  {
     String result = data.getStringExtra("result");
  } 
}

0