2013-08-19 90 views
1

在我的應用程序中,我有一個ScrollViewLinearLayout其可見性設置爲GONE。 我需要使其可見,然後讓我的ScrollView滾動到LinearLayout的底部。 爲此,我正在使用此代碼:設置LinearLayout可見並調用getBottom

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

然而,這是行不通的。當ScrollView被要求滾動時,LinearLayout在getBottom()上仍然返回0。

因此,當第一次調用這個函數時,LinearLayout是可見的,但滾動視圖沒有滾動。 當它被第二次調用時,它會向下滾動到正確的位置。

我該如何解決這個問題?

回答

1

你需要把你的smmothScrollTo方法一個新的線程像這裏面:

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

       } 
      }); 
+0

謝謝,這工作正常 – dumazy

+0

也+1了這一點,我不知道「後」的方法 – dumazy