I'd like to be able to get the current visible view from my ViewPager,
but the index reported to my OnPageChangeListener doesn't seem to
always be correct.  (i.e. sometimes I get a null View, or a view other
than the one that's centered).

Here's some code:

public class ReaderViewPager extends ViewPager {
    private int focusedIndex;
    private int newFocusedIndex;
    private Direction dir;

    private final ViewPager.OnPageChangeListener mPageChangeListener =
new ViewPager.OnPageChangeListener() {

        public void onPageSelected(int index) {
            Log.d(TAG, "SELECTED "+index);
            newFocusedIndex = index;
        }

        public void onPageScrolled(int arg0, float arg1, int arg2) {
            Log.d(TAG, "onPageScrolled has happened");
        }

        public void onPageScrollStateChanged(int state) {
            Log.d(TAG, "onPageScrollStateChanged has happened");
            if (state == ViewPager.SCROLL_STATE_IDLE) {
                focusedIndex = newFocusedIndex;
            }
        }
    };


    public ReaderViewPager(Context context) {
        super(context);
        initReaderViewPager(context);
    }

    public ReaderViewPager(Context context, AttributeSet attrs) {
        super(context, attrs);
        initReaderViewPager(context);
    }

    private void initReaderViewPager(Context context){
        focusedIndex = 0;
        setOnPageChangeListener(mPageChangeListener);
    }



    @Override
    public boolean onInterceptTouchEvent(MotionEvent arg0) {
        PageView view = (PageView) this.getChildAt(focusedIndex);
        if (view != null && !view.hasNextViewport(Direction.RIGHT))
{
            return super.onInterceptTouchEvent(arg0);
        }
        return false;
    }

In the end, I'd like to be able to intercept touches from with my
child views before the parent container sees them. Suggestions etc?

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to