How can I call a non-static method in a child Activity of an ActivityGroup from the ActivityGroup?
I think the easiest way to ask the question would be to demonstrate how my current workflow is set up first:
- There is a TabHostthat has anActivityGroupas one of its tabs
- That ActivityGroupas anActivityin it that calls an external service that I have no control over.
- The External Service has a callback function that kicks off onActivityResultin theActivityGroupand NOT in theActivitythat called the Service. This is because in order to have even have theonActivityResultfire, I had to callgetParent().startActivityForResult(
The problem is that I want 'stuff' to happen in the开发者_JS百科 Activity that called the External Service (e.g. an Alert Dialog, a web service call etc).  
So, how can a call a non-static method in the child Activity from the ActivityGroup? Is this even possible?
I figured it out.  In the ActivityGroup's onActivityResult I got the current activity using getLocalActivityManager().getCurrentActivity()and edit: cast it as the class I need, then called the non-static method on it:
 @Override
 public void onActivityResult(int requestCode, int resultCode, Intent data) {
        FooChildActivity foo = (FooChildActivity)getLocalActivityManager().getCurrentActivity();
        foo.barNonStaticMethod(requestCode, resultCode, data);
 }
 
         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论