如何设置viewpager在5秒后自动更改页面

时间:2015-04-21 11:24:46

标签: android android-viewpager slideshow android-pageradapter

我想用viewpager制作幻灯片,每5秒自动更改一次页面。我已经完成了viewpager,但是直到这里才被阻止,任何建议??

Adapter.class(我的片段中的内部类)

 class CustomPagerAdapter extends PagerAdapter {

    Context mContext;
    LayoutInflater mLayoutInflater;

    public CustomPagerAdapter(Context context) {
        mContext = context;
        mLayoutInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }

    @Override
    public int getCount() {
        return mResources.length;
    }

    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view == ((LinearLayout) object);
    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        View itemView = mLayoutInflater.inflate(R.layout.slide_show_item, container, false);

        ImageView imageView = (ImageView) itemView.findViewById(R.id.imageView);
        imageView.setImageResource(mResources[position]);

        container.addView(itemView);

        return itemView;
    }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        container.removeView((LinearLayout) object);
    }
}
}

这是我在片段中调用的函数

 public void setSlideShow(){

    mCustomPagerAdapter = new CustomPagerAdapter(getActivity());

    mViewPager = (ViewPager)rootView.findViewById(R.id.slide_show);
    mViewPager.setAdapter(mCustomPagerAdapter);

}

1 个答案:

答案 0 :(得分:0)

好吧,android没有提供任何功能来自动翻转 ViewPager 中的视图,但是它为您提供了一个名为 TimerTask 的类,您可以使用它来实现您的目标。 您可以通过这种方式查看此link

还有一种简单的方法可以实现这一目标,但为此你必须放弃使用 ViewPager 的想法。相反,您可以使用 ViewFlipper ViewFlipper 有自己的自动翻转方法。您只需添加这两行就可以使视图自动翻转:

mViewFlipper.setAutoStart(true);
mViewFlipper.setFlipInterval(2000); // flip every 2 seconds (2000ms)

您可以获得 ViewFlipper 示例here

相关问题