2014-09-25 121 views
6

我想访问附加View Viewr的子片段中的父Fragment视图。 Means Parent Fragment包含一个View Pager和View Pager然后有一个片段,我想在当前的Pager片段中使用Parent Fragment Views。在寻呼机的子片段中访问ViewPager的父片段视图

Parent Fragment ---->(Contains)View Pager ------>(Contains)Child Fragment。儿童片段希望使用家长片段多个视图。请提出任何解决方案。

在此先感谢。

+0

使用getActivity()。getSupportFragmentManager()。findFragmentByTag( “您的标记”)或getActivity()。getSupportFragmentManager()。findFragmentById(R.id.YOURFRAGMENT) – exshinigami 2017-12-18 18:12:32

回答

11
在您的孩子使用的片段

ParentFragment frag = ((ParentFragment)this.getParentFragment()); 

,并可以存储你所需要视图中的引用,并使用getter setter方法来访问他们的父母片段,另一种解决方案是创建一个监听器接口。按照下面的链接了解如何实现:

http://developer.android.com/training/basics/fragments/communicating.html

+0

感谢这就是我一直在寻找! – 2017-06-08 14:56:20

+0

这将在api中返回null <17 – huzain07 2017-11-15 02:56:47

+2

不起作用,仍为null – 2017-11-25 13:35:34

-1

我得到使用这个

YourActivity activity = (YourActivity) getActivity(); 
activity.mVar = 1; 
activity.textView.setText("Number "+activity.mVar); 
0

我试图用parent所以我试图得到一个sibling Fragment从活动变量和视图使用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 

} 

希望这会帮助别人。

1

您可以使用下面的代码。

 FloatingActionButton fab = getParentFragment().getView().findViewById(R.id.menu_item); 
相关问题