在我的应用中,我有一个ScrollView
,其LinearLayout
的可见性设置在GONE
。
我需要让它可见,然后让我的ScrollView滚动到LinearLayout的底部。
为此,我使用此代码:
mLinearLayout.setVisibility(View.VISIBLE);
mScrollView.smoothScrollTo(0, mLinearLayout.getBottom());
然而,这不起作用。当要求ScrollView滚动时,LinearBayout仍然在getBottom()上返回0。
因此,当第一次调用它时,LinearLayout可见,但是scrollview尚未滚动。 当它第二次被调用时,它会向下滚动到正确的位置。
我该如何解决这个问题?
答案 0 :(得分:1)
您需要将smmothScrollTo方法放在一个新的线程中:
mScrollView.post(new Runnable() {
public void run() {
mScrollView.smoothScrollTo(0,mLinearLayout.getBottom());
}
});