我的主要活动是通过startActivityForResults
调用第二个活动。我的第二个活动然后通过startActivityForResults
调用第三个活动,但在此过程中我的第二个活动finishes
。现在第三个活动将finish
,但需要通过setResult
发回结果代码。我的第一个活动有onActivityResult
方法,但从未接收任何内容或从未调用过。
我在这三个活动之间管理这个问题时遇到了麻烦。处理这个问题最简单的方法是什么?
答案 0 :(得分:1)
最简单的可能是使用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();
希望这有帮助。