我认为它不起作用,因为您发布的示例代码使用片段。
在您的 API 中PagerAdapter
可以阅读:
基类提供适配器以填充ViewPager
. 您很可能希望使用更具体的实现,例如FragmentPagerAdapter
or FragmentStatePagerAdapter
。
实现 PagerAdapter 时,必须至少重写以下方法:
instantiateItem(ViewGroup, int)
destroyItem(ViewGroup, int, Object)
getCount()
isViewFromObject(View, Object)
因此,您不能仅以示例为例并更改FragmentPagerAdapter
为PagerAdpapter
.
更新 2014-01-14
我将您的代码导入到现有项目中,并在其中显示ViewPager
.
我想我发现了错误!您的适配器工作正常(也是PageTransformater
)。请将您的方法更改instantiateItem
为此PagerAdper
并告诉我这是否适合您:
@Override
public Object instantiateItem(ViewGroup container, int position) {
// TODO Auto-generated method stub
View view = LayoutInflater.from(mContext).inflate(R.layout.program_item, null);
/**
// This line cause the strange behaviour
view.setLayoutParams(mParams);
**/
((ImageView) view.findViewById(R.id.img)).setImageResource(R.drawable.default_program);
container.addView(view);
return view;
}