Handle data from several activities in one onActivityResult()?

徘徊边缘 提交于 2019-11-30 20:51:29

set requestCode in your startActivityForResult for activity 1:

calling activity 2

Intent intent = new Intent(this, Activity2.class);
startActivityForResult(intent,10); 

calling activity 3

Intent intent = new Intent(this, Activity3.class);
startActivityForResult(intent,11); 

Now when you come to onActivityResult check that requestCode

like:

 public void onActivityResult(int requestCode, int resultCode, Intent data)
 {

      super.onActivityResult(requestCode, resultCode, data);

       switch (requestCode) {

          case (10): 
          {
            // do this if request code is 10.
          }
          break;

          case (11):
          {
            // do this if request code is 11.
          }
          break;
  }
Pragnani

No confusion check result code and request code..

Example :

private static final int TWO = 2;
private static final int THREE = 3;

startActivityForResult(new Intent(this,Activity2.class),TWO); // one for Activity 2
startActivityForResult(new Intent(this,Activity3.class),THREE);

and

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == Activity.RESULT_OK ) {
        if(requestCode == TWO) {
            // Activity two stuff
        } else if(requestCode == THREE) {
            // Activity three stuff
        }
    }
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!