返回活动b活动中的运动量,始于活动的儿童碎片



我有两个活动,其中一个有两个片段。

i具有 activitya 及其片段: fragment1 fragment2 ,并且这两个都可以打开 activityb

fragment1是带有标记的映射片段,而fragment2是 list 。单击时,标记和列表项目会导致Activityb,这是关于活动的,并在地图上的某些位置上提供信息。

我能够做的是 - 从fragment1使用:

打开活动b
startActivityForResult(intent, RESTAURANT_DESCRIPTION);

然后在我的片段中得到这样的结果:

public void onActivityResult(int requestCode, int resultCode, Intent intent){
    switch(requestCode){
        case RESTAURANT_DESCRIPTION: 
            //calling my method
            ZoomToMarkerFragment();
            //maybe call reload method from ListFragment
            break;
        case ADD_RESTAURANT: // TODO
            break;
    }
}

和上面的代码在我从fragment1 中打开Activityb时,给了我想要的结果fragment2,即列表fragment。

我尝试在我的父活动中添加上面的代码,但它不起作用。

那么,我的问题是 - 是否有一种方法可以使用onActivityResult,当它从其子女fragment1或其子女fragment2 打开时,将Activityb的结果返回到活动。

  • 在您的Activity的OnActivityResult中,请致电super.onActivityResult()
  • 还要确保从Fragment中进行startActivityForResult(..)而不是getActivity((。startActivityForresult(..(,如果您希望结果放在片段中。
  • 另外,如果您使用的是nested fragments,孩子片段应调用 getParentFragment().startActivityForResult(..),以便父母片段将其on Activitive ressult方法称为

最新更新