ScrollView无法在ViewFlipper中滚动到顶部

时间:2011-04-11 12:27:12

标签: java android scrollview viewflipper

我制作了一个ViewFlipper,用于在我从网上解析的新闻之间进行导航。

一切正常,但当我向下滚动当前项目然后导航到下一个/上一个项目时,ScrollView不会滚动到新文章项目的顶部。它只是在我读完最后一个项目的地方“挂起”。

onClick(View v)方法的最后,我有thisScrollView.scrollTo(0, 0);

有趣的是,这适用于模拟器和索尼爱立信Xperia,但不适用于HTC Desire和Galaxy Tab。它不应与设备上的Android版本相关,因为该方法自API Level 1 ..

以来可用

有人有任何想法吗?

3 个答案:

答案 0 :(得分:1)

我还在包含ViewFlipper的ScrollView上尝试scrollTo(0,0)作为孩子。结果并不那么准确。

然后我尝试了smoothScrollTo(0, 0);,如下所示

 _viewFlipperParentScrollView.fullScroll(View.FOCUS_UP);
 _viewFlipperParentScrollView.pageScroll(View.FOCUS_UP);
 _viewFlipperParentScrollView.smoothScrollTo(0, 0);

结果并不完全令人满意,但比

更好
_viewFlipperParentScrollView.scrollTo(0, 0);

答案 1 :(得分:0)

我通常使用setSelectionAfterHeaderView来实现此目的,它适用于HTC设备。

答案 2 :(得分:0)

我有同样的问题,我把scoll的调用放在runnable中,并在UI消息队列可用时发布它。我不知道为什么会这样。

getView().post(new Runnable() {
            @Override
            public void run() {
                myscrollView.fullScroll(ScrollView.FOCUS_UP);
                myscrollView.smoothScrollTo(0,0);

            }
        });

我不知道为什么我需要这两个电话,因为他们做同样的事情。但这对我有用,但只做其中一个没有。