Android ONActivityResult介于3个活动之间

时间:2014-10-17 15:46:11

标签: android android-intent android-activity

我在这件事上敲了几个小时。我有3个活动,活动A打开B,C必须将数据传递给活动A. 在活动A中,我运行startActivityForResult:

public static final int REQ_CODE_ACT3 = 2;
@Override
public void onClick(View v) {
    Intent intent = null;
intent = new Intent(A.this, B.class);
startActivityForResult(intent, REQ_CODE_ACT3);
}

然后B,将数据传递给C。

Intent singc = new Intent(B.this, C.class);
                Bundle extras = new Bundle();                   
                singc .putExtra("cto", d.cto);
                singc .putExtra("colore", d.colore);                        
                singc  .putExtras(extras);
                startActivity(singc );
                finish();

最后,C应该将数据传递给A. 但数据未通过

 lista.setOnItemClickListener(new OnItemClickListener(){
            @Override
            public void onItemClick(AdapterView<?> parent, View view,int position, long id) {

                Dettaglio d = dettagli.get(position);
                Intent intent=new Intent();
                 intent.putExtra("cto", d.cto);
                 intent.putExtra("colore", d.colore);
                 setResult(RESULT_OK,intent);
                 finish();

            }
        });

1 个答案:

答案 0 :(得分:0)

  • 在A:startActivityforResult(B)

  • B中的
  • :startActivityForResult(C)

  • 当C完成创建结果调用setResult并完成活动C
  • 覆盖B中的onActivityResult并从C + setResult获取您想要的A +完成活动B
  • 覆盖A中的onActivityResult以获取从B返回的结果。

如果您需要一些示例代码,或者仍有问题,请发表评论。