Android: 从 TabHost 中的 Fragment 获取父视图的 Framelayout

Android: Get Parent View's Framelayout from Fragment inside TabHost

我有一个 FragmentActivity,其中显示两个 FragmentsFragment AFragment B。在 Fragment A 中,我有另一个带标签的片段。我使用经典 TabHost 完成了此操作。在这个 TabHost 中,我还有 2 个 Fragments,其中有一个 ListView。现在我想要的是单击 listitem 我想替换父 FragmentActivityFragment B 中的内容。请帮助我实现这一目标。到目前为止,我已经尝试了以下方法。

1. View mContainer = (View)getActivity().findViewById(R.id.rightpane);
2. ViewGroup mContainer = (ViewGroup)getView().getParent();
3. Activity rrlist = ((RRPatientList)getParentFragment()).getActivity().getParent();
   View mContainer = (View) rrlist.findViewById(R.id.rightpane);

   ResultDetailView rdl = new ResultDetailView();
   rdl.setArguments(args);
   FragmentTransaction ft = getFragmentManager().beginTransaction();
   ft.replace(mContainer.getId(), rdl);
   ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);     
   ft.addToBackStack(null);
   ft.commit();

没有任何效果,我收到 NullPointerExceptionNo View Found for the ID ****** 错误。

请参阅屏幕截图了解更多信息。

在您的 activity 中创建方法(如:updateFragment)以更新片段 B。从片段 A 的子片段调用该方法(updateFragment),然后该方法(updateFragment)更新片段 B。

here is answer for update fragment from activity - 它会帮助您从您的父 activity

更新片段 B

here is answer for call activity method from fragment - 它会帮助您从片段 A 的子片段

调用父 activity 方法