从父 Activity 调用 Fragment 方法

新手上路,请多包涵

我在 Android Fragments Dev Guide 中看到“活动可以通过从 FragmentManager 获取对 Fragment 的引用,使用 findFragmentById()findFragmentByTag() 来调用片段中的方法。”

下面的示例展示了如何获取片段引用,但不展示如何调用片段中的特定方法。

谁能举例说明如何做到这一点?我想从父 Activity 调用 Fragment 中的特定方法。谢谢。

原文由 gcl1 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 879
2 个回答

没有得到这个问题,因为它太简单了:

 ExampleFragment fragment = (ExampleFragment) getFragmentManager().findFragmentById(R.id.example_fragment);
fragment.<specific_function_name>();

原文由 Dheeresh Singh 发布,翻译遵循 CC BY-SA 4.0 许可协议

这适用于我的情况,希望任何人都能从中获得帮助

OnDemandFrag frag = new OnDemandFrag();

使用它来替换 main 中的片段

FragmentManager manager = getSupportFragmentManager();
manager.beginTransaction().replace(R.id.content_frame, frag).commit();

我刚刚在 MainActivity 中创建了一个片段的全局实例,然后从这个实例运行片段的函数

frag.hidelayer();

原文由 Zahid Iqbal 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题