Zeeshan Ahmed
Zeeshan Ahmed

Reputation: 1187

Viewpager with auto scroll android

I'm using viewpager library to implement image slider but don't know how to implement it to auto scroll. here is my code.

ViewPagerAdapter.java

public class ViewPagerAdapter extends FragmentPagerAdapter implements IconPagerAdapter{

private int[] Images = new int[] { R.drawable.viewpager, R.drawable.viewpager,
        R.drawable.viewpager, R.drawable.viewpager,R.drawable.viewpager, R.drawable.viewpager

};

protected static final int[] ICONS = new int[] { R.drawable.logo,
        R.drawable.logo, R.drawable.logo, R.drawable.logo,R.drawable.logo, R.drawable.logo };

private int mCount = Images.length;

public ViewPagerAdapter(FragmentManager fm) {
    super(fm);
}

@Override
public Fragment getItem(int position) {
    return new SliderFragment(Images[position]);
}

@Override
public int getCount() {
    // TODO Auto-generated method stub
    return mCount;
}

public int getIconResId(int index) {
    return ICONS[index % ICONS.length];
}

public void setCount(int count) {
    if (count > 0 && count <= 10) {
        mCount = count;
        notifyDataSetChanged();
    }
}

}

SliderFragment.java

public class SliderFragment extends SherlockFragment {

int imageResourceId;

public SliderFragment(int i) {
    imageResourceId = i;
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    ImageView image = new ImageView(getActivity());
    image.setImageResource(imageResourceId);

    LinearLayout layout = new LinearLayout(getActivity());
    layout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
            LayoutParams.MATCH_PARENT));

    layout.setGravity(Gravity.CENTER);
    layout.addView(image);

    return layout;
}

}

MainActivity.java

mAdapter = new ViewPagerAdapter(getSupportFragmentManager());
    vPager = (ViewPager) findViewById(R.id.pager);
    pIndicator = (PageIndicator) findViewById(R.id.indicator);
    vPager.setAdapter(mAdapter);
    pIndicator.setViewPager(vPager);
    ((CirclePageIndicator) pIndicator).setSnap(true);

Please guide me how can i implement it with auto scroll so that images are scrolling automatically after the predefined time.

Upvotes: 1

Views: 5839

Answers (2)

Surender Kumar
Surender Kumar

Reputation: 1285

page=0;

timer=new TimerTask() {
            @Override
    enter code here
            public void run() {
                handler.post(new Runnable() {

                    @Override
                    public void run() {
                        viewPager.setCurrentItem(page % 4); // 4= no. of page in viewpager

                        page++;
                    }
                });
            }
        };
        Timer time=new Timer();
        time.schedule(timer, 0, 3000); //3000 millisecond for replace the viewpager page 

Upvotes: 2

Zeeshan Ahmed
Zeeshan Ahmed

Reputation: 1187

I Solved it using the timer thread. After specific time i change the view pager image which become the auto scroll.

Upvotes: 0

Related Questions