deepak tiwari
deepak tiwari

Reputation: 107

android onActivityResult not comming to android.app.Fragment

i have a tab activity in which i have an activity and in that Activity i have a Fragment..

in tabActivity:-

TabActivity
{
 @ovverride 
 protected void onActivityResult(int requestCode, int resultCode, Intent data)
 {
  super.onActivityResult(requestCode, resultCode, data);
 }
}

in Activity:-

Activity
{
  @ovverride 
  protected void onActivityResult(int requestCode, int resultCode, Intent data)
  {
   super.onActivityResult(requestCode, resultCode, data);
  }
}

in Fragment:-

Fragment
{
 void startActivityForResult()
  {
    startActivityForResult(intent,requestCode);
  }
  @ovverride 
  public void onActivityResult(int requestCode, int resultCode, Intent data)
  {
   super.onActivityResult(requestCode, resultCode, data);
   //doing my work here
  }
}

now the problem is when i had used support Fragment then i do not need to have @ovverride onActivityResult in Activity or in TabActivity it was working very fine..but now i have android.app.Fragment and i have tried everything but i could not able to get OnActivityResult in my app Fragment...

please solve this..i'll be a great help..

Upvotes: 0

Views: 169

Answers (1)

Akash Moradiya
Akash Moradiya

Reputation: 3322

try like this may help you,

Explicit call from fragment to onActivityResult function as follows

In Parent Activity class, override the onActivityResult() method and even override the same in Fragment Class and call as the following code.

In Parent Class:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.dualPane);
    fragment.onActivityResult(requestCode, resultCode, data);
}

In fragment

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
   //in fragment class callback
} 

Upvotes: 1

Related Questions