【问题标题】:How do I call functions in fragment from another?如何从另一个片段中调用函数?
【发布时间】:2011-10-21 14:07:57
【问题描述】:

我在一个活动中放置了两个片段。我想要做的是当我单击片段 B 中的按钮时从片段 A 中隐藏视图。我在片段 A 中有隐藏功能,但是如何在片段 B 中调用它? 我试过了:

((FragmentA)getActivity().getFragmentManager().findFragmentById(R.id.fragment_a)).hideLivePreview();

但它给了我一个空指针异常...请帮助

【问题讨论】:

  • 您必须与来自片段 b 的活动进行通信,这将触发片段 a 中的函数。 developer.android.com/guide/topics/fundamentals/…,查看此链接。
  • @Yashwanth Kumar thx man.. 我确定这是我应该做的,但是当我从活动中调用片段函数时,我不断收到空指针异常

标签: java android android-fragments


【解决方案1】:

您一般不希望这样做。片段 A 和片段 B 不应直接通信,因为片段 A 和片段 B 可能不会同时一直在屏幕上。它们可能在大屏幕上并排显示,但在较小的屏幕上通过单独的活动显示。恕我直言,活动应该调解片段之间的所有通信。如果您有两个过于紧密耦合的片段,那么它们首先不应该是单独的片段。

话虽如此,您得到的是NullPointerException,因为活动中没有具有该 ID 的片段。

【讨论】:

  • 谢谢!然后我会尝试在活动中做......但是对于 NullPointerException 我在调用函数之前确实检查了活动,所以在特定活动中应该有这样的片段。不知道我是否误会了什么......
猜你喜欢
  • 2022-11-19
  • 1970-01-01
  • 2017-06-09
  • 2021-06-13
  • 2015-06-17
  • 1970-01-01
  • 2015-01-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多