Android:如何在顶部滚动ScrollView

时间:2011-06-07 07:33:36

标签: android

我有两个按钮切换到下一个事件列表和前一个事件列表。

当我去下一个\上一个事件时,滚动保持在下面的某个地方。但我需要“收回”它。

我正在尝试:

scrollViewEventDetails.pageScroll(ScrollView.FOCUS_UP);

和:

scrollViewEventDetails.scrollTo(0, 0); 

但它不起作用。请帮助!

5 个答案:

答案 0 :(得分:31)

你应该写下:

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

答案 1 :(得分:20)

这对我不起作用:

scrollViewEventDetails.fullScroll(View.FOCUS_UP); //if you move at the end of the scroll

这对我有用:

scroll_view.smoothScrollTo(0,0);

答案 2 :(得分:14)

scrollview.pageScroll(View.FOCUS_UP);更加一致,对我有用。 :)

答案 3 :(得分:2)

这些电话的时机至关重要。 getViewTreeObserver()。addOnGlobalLayoutListener对我不起作用,但在我的活动中使用了onWindowFocusChanged回调:

@Override
    public void onWindowFocusChanged(boolean hasFocus) {
        super.onWindowFocusChanged(hasFocus);

        if (hasFocus) {
            mScrollView.fullScroll(View.FOCUS_UP);
        }
    }

答案 4 :(得分:0)

我知道这是一个旧帖子,但有一个原因,代码将在某些地方工作,而不是其他地方。如果在错误的位置调用它将被主线程中断,特别是如果ScrollView必须滚动很远的距离。因此,将您的调用放在自己的线程中。固定的。

"test1"