Android fragments ViewPager+;开始新的活动

Android fragments ViewPager+;开始新的活动,android-fragments,android-activity,actionbarsherlock,android-viewpager,Android Fragments,Android Activity,Actionbarsherlock,Android Viewpager,如果我有一个viewpager,其中每个页面都是一个片段。其中一些片段想要启动其他视图/活动,所有这些请求都必须传递给父活动。因此,对于视图寻呼机中的每个页面,所有启动新活动的请求以及所有需要传递回片段的结果都要经过一个主活动。这看起来会变得一团糟。有没有更好的处理方法 谢谢 因此,对于视图寻呼机中的每个页面,所有启动新活动的请求以及所有需要传递回片段的结果都要经过一个主活动 由于您的片段在其父活动的生命周期中生死存亡,因此,是的,它们必须使用其父活动来启动和接收其他活动的结果 从API 11开

如果我有一个viewpager,其中每个页面都是一个片段。其中一些片段想要启动其他视图/活动,所有这些请求都必须传递给父活动。因此,对于视图寻呼机中的每个页面,所有启动新活动的请求以及所有需要传递回片段的结果都要经过一个主活动。这看起来会变得一团糟。有没有更好的处理方法

谢谢

因此,对于视图寻呼机中的每个页面,所有启动新活动的请求以及所有需要传递回片段的结果都要经过一个主活动

由于您的
片段
在其父
活动
的生命周期中生死存亡,因此,是的,它们必须使用其父活动来启动和接收其他
活动
的结果

从API 11开始,在最新的支持库中,您可以从
片段
内部调用这些方法,它们将从父
活动
为您执行

    Intent intent = new Intent(getActivity(), SomeActivityToStart.class);
    startActivity(intent);
您还可以在
片段中为结果启动
活动

    Intent intent = new Intent(getActivity(), SomeActivityToStart.class);
    startActivityForResult(intent, REQUEST_CODE);
然后覆盖
片段中的
onActivityResult(int-requestCode,int-resultCode,Intent-data)
,从父
活动中获取结果

这看起来会变得一团糟。有没有更好的处理方法

由于您不必自己管理父
活动
和子
片段
之间的通信,我认为这不应该太混乱


查看这些方法的参考。

感谢您的回答,我不知道这些方法可以从片段内部调用,这使我的生活和代码变得更加简单!