Android: How to scroll ScrollView in top

后端 未结 5 1428
小鲜肉
小鲜肉 2020-12-14 17:05

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

相关标签:
5条回答
  • 2020-12-14 17:33

    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();
    
    0 讨论(0)
  • 2020-12-14 17:36

    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);
    
    0 讨论(0)
  • 2020-12-14 17:39

    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
    
    0 讨论(0)
  • 2020-12-14 17:51

    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);
            }
        }
    
    0 讨论(0)
  • 2020-12-14 17:58

    scrollview.pageScroll(View.FOCUS_UP); is more consistent and worked for me. :)

    0 讨论(0)
提交回复
热议问题