如何在Android中为片段创建选择器?

时间:2012-01-19 13:40:16

标签: android android-fragments

我有3个碎片说FragmentA,FragmentB和FragmentC。我在FragmentA上有一个按钮。我希望打开一个选择器,就像点击FragmentA的按钮一样,所有用户都可以从FragmentB和FragmentC中选择。

通过选择器,我的意思是intent.createChooser(),它为用户提供了从列表中选择意图的选项。

1 个答案:

答案 0 :(得分:2)

Fragment应始终设计为可重用,因此,您不应编写直接引用另一个Fragment Fragment的代码。换句话说,父ActivityA应该为您管理您的Fragment交易。

我们假设ActivityAFragmentAFragmentBFragmentC的父活动。您可以做的是在片段内定义一个回调接口,并要求主机活动实现它。当活动通过接口收到回调时,它可以根据需要与布局中的其他片段共享信息。如果您只处理一个父级活动来管理所有三个Fragments,则无需创建新的Intents来启动新的Activity ...而是您的父级{ {1}}应该使用ActivityA,并在收到事件回调时使用所需的片段填充其布局。

有大量examples演示如何在Android开发者网站上正确使用FragmentManager。我建议你也看一下文档here

最后,我想指出,标签式设计似乎适合您的情况(例如,使用三个标签填充Fragment,以便在ActionBar s之间快速导航。有关详细信息,请查看此sample code

如果有帮助,请告诉我!如果没有,请发表评论,我可以澄清一下。