如何向之前的活动传递数据?
如何向之前的活动传递数据?
这个问题已有答案:
我遇到了下面的问题。我有ActivityA
和ActivityB
。在ActivityA
中,我有一些单选按钮,用户可以选择它们。从ActivityA
访问ActivityB
,所以当我按下一个按钮时,我进入ActivityB
。在ActivityB
中,我做一些计算,并想将结果返回给ActivityA
,但在进入ActivityB
之前保存在ActivityA
中的更改。
如果我使用finish()
,我会返回到ActivityA
,选定的按钮会被保存,但是ActivityB
中的结果没有传递给ActivityA
。
我想知道是否有一种方法可以实现这个目标?
admin 更改状态以发布 2023年5月24日
使用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"); } }