I have two buttons that switching to the next list of events and the previous one.
When I go to next\previous event, scrolls remains somewhere below. But I need to "rewind" it up.
I'm trying:
scrollViewEventDetails.pageScroll(ScrollView.FOCUS_UP);
and:
scrollViewEventDetails.scrollTo(0, 0);
but it doesn't work. Please, help!
You shoud write next:
scrollViewEventDetails.fullScroll(View.FOCUS_UP);//if you move at the end of the scroll
scrollViewEventDetails.pageScroll(View.FOCUS_UP);//if you move at the middle of the scroll
This did not work for me:
scrollViewEventDetails.fullScroll(View.FOCUS_UP); //if you move at the end of the scroll
This worked for me:
scroll_view.smoothScrollTo(0,0);
scrollview.pageScroll(View.FOCUS_UP);
is more consistent and worked for me. :)
The timing of these calls is crucial. getViewTreeObserver().addOnGlobalLayoutListener didn't work for me but using the onWindowFocusChanged callback in my activity did:
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
mScrollView.fullScroll(View.FOCUS_UP);
}
}
I know this is an old post but there is a reason the code will work some places and not others. It will get interrupted by the main thread if called in the wrong place, especially if the ScrollView must scroll a large distance. Therefore put your call in its own thread. Fixed.
(new Thread(new Runnable(){
public void run(){
mScrollView.fullScroll(View.FOCUS_UP);
}
})).start();
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.