Android 如何在不扩展活动的情况下获取片段管理器
我正在使用库来构建一些卡,我的java扩展库类现在我需要在我的java类中使用FragmentManager我尝试使用内部类来实现这一点,但如果您有Android 如何在不扩展活动的情况下获取片段管理器,android,android-fragments,Android,Android Fragments,我正在使用库来构建一些卡,我的java扩展库类现在我需要在我的java类中使用FragmentManager我尝试使用内部类来实现这一点,但如果您有活动参考:活动。getFragmentManager() 如果您有一个片段引用:Fragment.getFragmentManager() 它们都是public方法,但您需要对活动或片段的引用 另外,尽管我不推荐使用它,但是如果您有视图引用,那么View.getContext()方法很可能是一个活动,因此您可以通过这种方式创建并获取碎片管理器。但这是
活动参考:活动。getFragmentManager()
如果您有一个片段
引用:Fragment.getFragmentManager()
它们都是public
方法,但您需要对活动或片段的引用
另外,尽管我不推荐使用它,但是如果您有视图
引用,那么View.getContext()
方法很可能是一个活动
,因此您可以通过这种方式创建并获取碎片管理器
。但这是潜在的危险,如果Android的实现发生变化,它随时可能停止工作,所以你应该真正知道自己在做什么。传递活动/片段引用确实是一种方法。getFragmentManager()
是一种公共的非静态的活动方法。因此,要获得碎片管理器
,您需要有活动
的上下文
。因此,即使您没有扩展活动
类,也需要有它的上下文
再看一下这个方法的描述,它把事情弄清楚了
返回FragmentManager以与与此活动关联的片段进行交互
因此,如果没有活动
,碎片管理器
就不存在。您可以将其作为外部依赖项接受,作为构造函数或方法的参数。粘贴下面的代码:public class CustomExpandCard extensed CardExpand{String text1;public CustomExpandCard(Context Context,String text1,String text2,String text3,String text4){super(Context,R.layout.carddemo_example_internal_expand);this.text1=text1;}}}我需要创建一个内部类并将上下文传递给它吗?事实上,我是android新手,你能告诉我一些示例代码吗?它会很有帮助
/**
* Return the FragmentManager for interacting with fragments associated
* with this activity.
*/
public FragmentManager getFragmentManager() {
return mFragments.getFragmentManager();
}