Android: 从 TabHost 中的 Fragment 获取父视图的 Framelayout
Android: Get Parent View's Framelayout from Fragment inside TabHost
我有一个 FragmentActivity
,其中显示两个 Fragments
、Fragment A
和 Fragment B
。在 Fragment A
中,我有另一个带标签的片段。我使用经典 TabHost
完成了此操作。在这个 TabHost
中,我还有 2 个 Fragments
,其中有一个 ListView
。现在我想要的是单击 listitem
我想替换父 FragmentActivity
的 Fragment 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();
没有任何效果,我收到 NullPointerException
或 No 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 方法
我有一个 FragmentActivity
,其中显示两个 Fragments
、Fragment A
和 Fragment B
。在 Fragment A
中,我有另一个带标签的片段。我使用经典 TabHost
完成了此操作。在这个 TabHost
中,我还有 2 个 Fragments
,其中有一个 ListView
。现在我想要的是单击 listitem
我想替换父 FragmentActivity
的 Fragment 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();
没有任何效果,我收到 NullPointerException
或 No View Found for the ID ******
错误。
请参阅屏幕截图了解更多信息。
在您的 activity 中创建方法(如:updateFragment)以更新片段 B。从片段 A 的子片段调用该方法(updateFragment),然后该方法(updateFragment)更新片段 B。
here is answer for update fragment from activity - 它会帮助您从您的父 activity
更新片段 Bhere is answer for call activity method from fragment - 它会帮助您从片段 A 的子片段
调用父 activity 方法