4

I want to know when my ScrollView is scrolled to the top. This is what I tried:

  scrollView.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() {

            @Override
            public void onScrollChanged() {
                int scrollX = scrollView.getScrollX(); //for horizontalScrollView
                int scrollY = scrollView.getScrollY();
                Log.d("TagFragment", "scrollY" + scrollY);
                mainFragment.setCanPullToRefresh(scrollY == 0);
            }
        });

the problem is: scrollY is nearly always 0. so it returns nearly always true. Some values are correct:

logcat:

D/TagFragment﹕ scrollY242
D/TagFragment﹕ scrollY0
D/TagFragment﹕ scrollY0
D/TagFragment﹕ scrollY0
D/TagFragment﹕ scrollY0
D/TagFragment﹕ scrollY0
D/TagFragment﹕ scrollY244
D/TagFragment﹕ scrollY0
D/TagFragment﹕ scrollY0
D/TagFragment﹕ scrollY0
D/TagFragment﹕ scrollY0
D/TagFragment﹕ scrollY0
D/TagFragment﹕ scrollY245
D/TagFragment﹕ scrollY0
D/TagFragment﹕ scrollY0
D/TagFragment﹕ scrollY0
D/TagFragment﹕ scrollY0
D/TagFragment﹕ scrollY0
D/TagFragment﹕ scrollY246
D/TagFragment﹕ scrollY0

how can I know 100% precisely what the offset is?

maysi
  • 5,457
  • 12
  • 34
  • 62

0 Answers0