1

在我的应用程序中,我有ScrollView一个LinearLayout其可见性设置为的GONE。我需要让它可见,然后让我的 ScrollView 滚动到 LinearLayout 的底部。为此,我正在使用以下代码:

mLinearLayout.setVisibility(View.VISIBLE);
mScrollView.smoothScrollTo(0, mLinearLayout.getBottom());

然而,这不起作用。当 ScrollView 被要求滚动时,LinearLayout 仍然在 getBottom() 上返回 0。

所以第一次调用这个的时候,LinearLayout是可见的,但是scrollview没有滚动。当它被第二次调用时,它会向下滚动到正确的位置。

我怎样才能解决这个问题?

4

1 回答 1

1

您需要将 smmothScrollTo 方法放入一个新线程中,如下所示:

     mScrollView.post(new Runnable() {
                public void run() {
                    mScrollView.smoothScrollTo(0,mLinearLayout.getBottom());

                }
            });
于 2013-08-19T13:08:09.490 回答