我的主要活动是通过startActivityForResults
调用第二个活动。然后,我的第二个活动通过startActivityForResults
调用了第三个活动,但是在此过程中,我的第二个活动finishes
。现在,第三个活动将是finish
,但是将需要通过setResult
发送回结果代码。我的第一个活动使用了onActivityResult
方法,但是从不接收任何东西或从未被调用。
我在三项活动之间无法解决此问题。解决这个问题的最简单方法是什么?
最佳答案
最简单的方法可能是使用Singleton类。
public class ResultHolder {
private String result; // Whichever result code you need to persist
public String getResult() {return result;}
public void setResult(String result) {this.result = result;}
private static final ResultHolder holder = new ResultHolder();
public static ResultHolder getInstance() {return holder;}
}
在发布结果代码的活动中:
ResultHolder.getInstance.setResult(whateverResultCode);
在收到结果代码的活动中:
String resultCode = ResultHolder.getInstance.getResult();
希望这可以帮助。