FragmentPagerAdapter在子fragment获取父fragment
时间: 2024-05-13 22:18:06 浏览: 14
在FragmentPagerAdapter中,每个Fragment都是独立的实例,它们没有直接的父子关系,因此在子Fragment中获取父Fragment会比较困难。
但是,我们可以通过在创建Fragment时,将父Fragment传递给子Fragment的方式来实现获取父Fragment的操作。具体步骤如下:
1. 在父Fragment中创建一个公共方法,用于将自身作为参数传递给子Fragment。
```
public void setParentFragment(Fragment parentFragment) {
this.parentFragment = parentFragment;
}
```
2. 在创建FragmentPagerAdapter时,重写getItem()方法,将父Fragment作为参数传递给子Fragment。
```
@Override
public Fragment getItem(int position) {
Fragment fragment = new ChildFragment();
fragment.setParentFragment(ParentFragment.this);
return fragment;
}
```
3. 在子Fragment中,通过调用getParentFragment()方法获取父Fragment。
```
ParentFragment parent = (ParentFragment) getParentFragment();
```
通过以上步骤,就可以在FragmentPagerAdapter中的子Fragment中获取到父Fragment了。