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?