【发布时间】:2015-06-25 17:12:18
【问题描述】:
我有一个选项卡,其中包含一个视图寻呼机,其中包含 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;
}
【问题讨论】:
-
你能把
onCreate的代码贴出来吗?
标签: android android-fragments android-activity android-viewpager android-lifecycle