我想访问附带View Viewr的子片段中的父片段视图。意味着父片段包含一个视图寻呼机和视图寻呼机然后有一个片段,我想在当前的寻呼机片段中使用父片段视图。
父片段---->(包含)查看寻呼机------>(包含)子片段。 Child Fragment想要使用Parent Fragment多个视图。请提出任何解决方案。
提前致谢。
答案 0 :(得分:14)
在您的子片段中使用:
ParentFragment frag = ((ParentFragment)this.getParentFragment());
在您的父片段中,您可以存储所需视图的引用并使用getter setter来访问它们,另一种解决方案是创建一个侦听器接口。请点击以下链接,了解如何实施:
http://developer.android.com/training/basics/fragments/communicating.html
答案 1 :(得分:2)
您可以使用以下代码。
FloatingActionButton fab = getParentFragment().getView().findViewById(R.id.menu_item);
答案 2 :(得分:1)
内部父片段
ViewPagerAdapter adapter = new ViewPagerAdapter(getChildFragmentManager())
确保它是getChildFragmentManager()
在子片段中,可以访问父片段中的任何内容
((ParentFragment)this.getParentFragment()).any_thing_inside_parent_fragment;
答案 3 :(得分:0)
我试图使用sibling Fragment
获取parent
,因此我尝试使用getParentFragment()
中的child Fragment
,并且始终返回null
。所以我只是从viewpagerAdapter
得到了片段,这就是我访问sibling Fragment
所做的:
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
mViewPager = (ViewPager) container;
BasePagerAdapter bpa = (BasePagerAdapter) mViewPager.getAdapter();
MySiblingFragment f = (MySiblingFragment) bpa.getItem(1); //I know the position of the fragment so I hardcoded it
}
希望这会对某人有所帮助。
答案 4 :(得分:-1)
我使用此
从活动中获取变量和视图YourActivity activity = (YourActivity) getActivity();
activity.mVar = 1;
activity.textView.setText("Number "+activity.mVar);