Android Can';更改方向后,无法与ViewPager中的片段通信

Android Can';更改方向后,无法与ViewPager中的片段通信,android,android-fragments,android-activity,android-viewpager,android-lifecycle,Android,Android Fragments,Android Activity,Android Viewpager,Android Lifecycle,我有一个标签,里面有5个片段 当调用onPageSelected时,我会告诉当前片段使用 ((ItemFragment) pagerAdapter.getItem(position)).animateUp(); 在碎片里面 public void animateUp(){ if(linearLayout != null){ linearLayout.animate().translationYBy(-75)); } } 在我旋转设备之前,一切似乎都正常

我有一个标签,里面有5个片段

当调用onPageSelected时,我会告诉当前片段使用

((ItemFragment) pagerAdapter.getItem(position)).animateUp();
在碎片里面

public void animateUp(){
     if(linearLayout != null){
          linearLayout.animate().translationYBy(-75));
    } 
}
在我旋转设备之前,一切似乎都正常。片段显示出来了,我可以移动它们,但是animateUp()方法没有做任何事情。看起来viewpager没有对正在显示的片段的引用

编辑:onCreate为空,下面是onCreateView

 public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.fragment_explore_tab, container, false);
    pager = (MultiViewPager)rootView.findViewById(R.id.pager);

    List<Fragment> fragmentsList = new ArrayList<>();
    for(int i = 0; i < header.length; i++){
        ItemFragment fragment = new ItemFragment();
        Bundle bundle = new Bundle();
        bundle.putInt(ItemFragment.IMAGE_KEY, header[i]);
        fragment.setArguments(bundle);
        fragmentsList.add(fragment);
    }

    pager.addOnPageChangeListener(new OnPageChangeListener() {

        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
        }

        @Override
        public void onPageSelected(int position) {
            ((ItemFragment) pagerAdapter.getItem(position)).animateUp();
        }

        @Override
        public void onPageScrollStateChanged(int state) {
        }
    });

    pagerAdapter = new BaseFragmentPagerAdapter(getChildFragmentManager(), fragmentsList);
    pager.setAdapter(pagerAdapter);

    return rootView;
}
public View onCreateView(布局、充气机、视图组容器、,
Bundle savedInstanceState){
ViewGroup rootView=(ViewGroup)充气器。充气(R.layout.fragment\u explore\u选项卡,容器,false);
pager=(MultiViewPager)rootView.findviewbyd(R.id.pager);
List fragmentsList=新的ArrayList();
对于(int i=0;i

您必须再次订阅侦听器。尝试在onResume中执行此操作

您可以在onCreate中发布您的代码吗?
if(linearLayout != null){ *your listener change to null when you rotate device*
          linearLayout.animate().translationYBy(-75)); }