Moh*_*hin 11 android android-fragments
我们都知道getParentFragment的Fragment是API 17推出.
那么如果我们想要在API 16及更低版本中获取父片段呢(考虑到我使用native Fragment支持FragmentStatePagerAdapter并且嵌套片段没有问题)
还有比我更好的方法吗?
在父母:
public class ParentFragment extends Fragment {
public static ParentFragment StaticThis;
...
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StaticThis = this;
...
}
Run Code Online (Sandbox Code Playgroud)
在孩子:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1)
parentFragment = (ParentFragment) getParentFragment();
else
parentFragment = ParentFragment.StaticThis;
Run Code Online (Sandbox Code Playgroud)
如果你想在你从"项目"顶嘴基于您的评论ViewPager(我猜这是Fragment)到的容器,ViewPager这是一个FragmentActivity你可以用一个接口.
(1)声明接口Fragment本身或作为单独的文件(2)"初始化"片段的onAttach方法中的接口.例如
private SomeInterface blah;
@Override
public void onAttach(Activity activity){
blah = (SomeInterface) activity;
}
Run Code Online (Sandbox Code Playgroud)
(3)在你的实现界面FragmentActivity.
然后你可以回复FragmentActivity你的Fragment.从那里你可以调用你想要的任何方法FragmentActivity,如果你获得了加载到你的ViewPager任何其他片段的引用,请调用其中的任何公共方法Fragment.这允许您在片段和容器之间进行通信而不会发生内存泄漏.
| 归档时间: |
|
| 查看次数: |
4582 次 |
| 最近记录: |