filipp.kowalski
filipp.kowalski

Reputation: 5605

OnPageScrolled doesn't work on Android

I know there was some similiar problems on StackOverflow but none of these solutions worked for me. I want to use method onPageScrolled, I have set up listner, adapter etc. but it still doesn't react. Here is my code : I implement this method via :

public class ChefViewActivity extends RoboFragmentActivity implements  ViewPager.OnPageChangeListener {

Then :

....
pagerIndicator = new PagerIndicator((LinearLayout) findViewById(R.id.pagerIndicator),
            fragments.size());
    fragmentAdapter = new DetailsFragmentAdapter(getSupportFragmentManager(), fragments,
            pagerIndicator);

    viewPager = (ViewPager) findViewById(R.id.pager);
    viewPager.setAdapter(fragmentAdapter);
    viewPager.setOnPageChangeListener(pagerIndicator);
    viewPager.setOffscreenPageLimit(5);
    pagerIndicator.onPageSelected(viewPager.getCurrentItem());
.....

Upvotes: 0

Views: 595

Answers (2)

Teraiya Mayur
Teraiya Mayur

Reputation: 1154

private class GestureListener extends SimpleOnGestureListener {

@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float    velocityY) {


if(e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) >   SWIPE_THRESHOLD_VELOCITY) {
            return false; // Right to left
        }  else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX)    > SWIPE_THRESHOLD_VELOCITY) {
            return false; // Left to right
        }

        if(e1.getY() - e2.getY() > SWIPE_MIN_DISTANCE && Math.abs(velocityY) >  SWIPE_THRESHOLD_VELOCITY) {
            return false; // Bottom to top
        }  else if (e2.getY() - e1.getY() > SWIPE_MIN_DISTANCE && Math.abs(velocityY) > SWIPE_THRESHOLD_VELOCITY) {
            return false; // Top to bottom
        }
        return false;
    }
}

Upvotes: 0

kvh
kvh

Reputation: 2158

the following code works for me.

viewPager.setOnPageChangeListener(new OnPageChangeListener() {

            @Override
            public void onPageSelected(int arg0) {

            }

            @Override
            public void onPageScrolled(int arg0, float arg1, int arg2) {

            }

            @Override
            public void onPageScrollStateChanged(int arg0) {

            }
        });

Upvotes: 2

Related Questions