将第三个Android活动的结果返回给第一个活动

时间:2015-11-12 18:53:42

标签: java android android-activity mobile

我的主要活动是通过startActivityForResults调用第二个活动。我的第二个活动然后通过startActivityForResults调用第三个活动,但在此过程中我的第二个活动finishes。现在第三个活动将finish,但需要通过setResult发回结果代码。我的第一个活动有onActivityResult方法,但从未接收任何内容或从未调用过。

我在这三个活动之间管理这个问题时遇到了麻烦。处理这个问题最简单的方法是什么?

1 个答案:

答案 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();

希望这有帮助。