0
我有一個包含5個片段的視圖分頁器的選項卡。在方向改變後無法與ViewPager中的片段進行通信
當使用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;
}
你可以發佈你的'onCreate'代碼嗎? –
發表了該方法 – MikeC