2011-09-12 31 views
3

我怎樣才能指定一個值,當可見Horizo​​ntalScrollView將已經滾動的值?通過一些scrollX開始Horizo​​ntalScrollView

我已經嘗試過scrollTo方法,但它只適用於帖子佈局上下文,我無法在特定位置上啓動Horizo​​ntalScrollView。

我該怎麼做?

+0

某人如何投票而不說話? –

+0

我也想知道 – njzk2

回答

1

我解決了這個辦法,沒有更好的解決方案也歡迎:

public void scrollWhenAvailable(final int x) { 
     if (x == getScrollX()) 
      return; 

     scrollTo(x, 0); 

     postDelayed(new Runnable() { 

      @Override 
      public void run() { 
       scrollWhenAvailable(x); 
      } 
     }, 10); 
    } 
+0

軟鳥是對的 –

+0

不,軟鳥的回答也不解決,停止downvoting –

+0

這是正確的答案,停止向下投票它。 –

0

無論如何,您可能必須使用scrollTo,因爲它完全符合您的要求,儘管您可能需要在正確的時間調用它。 (在某些onPostSomething,我猜)

+0

謝謝,我會尋找對的東西 –

0

我相信這是不必要的到到postDelayed,一個簡單的職位,因爲這將是足夠的在所有視圖尺寸計算完畢後執行,你甚至可以在o​​nCreate(..)中加入。

scrollView.post(new Runnable() { 

    @Override 
    public void run() { 
     // TODO Auto-generated method stub 
     scrollView.setScrollX(x); 
    } 
}); 

另請注意,如果您的SDK級別足夠高,setScrollX可能就是您想要使用的。

+0

我儘量嘗試,但它不起作用 –