作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我将两个 fragment 放在一个 Activity 中。我想要做的是当我单击 fragment B 中的按钮时隐藏 fragment A 中的 View 。我在 fragment A 中具有隐藏功能,但如何在 fragment B 中调用它?我试过:
((FragmentA)getActivity().getFragmentManager().findFragmentById(R.id.fragment_a)).hideLivePreview();
但它给了我一个空指针异常...请帮忙
最佳答案
您通常不想这样做。 fragment A 和 fragment B 不应直接通信,因为 fragment A 和 fragment B 可能不会一直同时出现在屏幕上。它们可能在大屏幕上并排显示,但在较小的屏幕上通过单独的 Activity 显示。恕我直言, Activity 应该调解 fragment 之间的所有通信。如果您有两个过于紧密耦合的 fragment ,那么它们首先不应是单独的 fragment 。
综上所述,您将收到 NullPointerException
,因为 Activity 中没有具有该 ID 的 fragment 。
关于java - 如何从另一个 fragment 中调用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7850583/
我是一名优秀的程序员,十分优秀!