2011-07-10 75 views
0

我還沒有看到這個問題覆蓋所以在這裏它去了。我有一個seekbar阻止超越次要進程尋找(在這種情況下,音樂緩衝)。比方說,這首歌是5分鐘長,4分鐘已經被緩衝了,並且正在打一分鐘。當我拖動拇指時,它會拖動並滴下。問題是,當我停止拖動(不釋放)然後再次拖動時,拇指快速從當前播放位置(1分鐘)跳到我拖動拇指的位置。當我釋放時,沒關係,這只是拖動拇指的問題。這裏是我的搜索條聽衆....Android SeekBar Jiggles

private SeekBar.OnSeekBarChangeListener seekBarChangeListener = new SeekBar.OnSeekBarChangeListener() { 

    public void onProgressChanged(SeekBar seekBar, int progress, 
      boolean fromUser) { 

     int secondaryPosition = seekBar.getSecondaryProgress(); 
     if (progress > secondaryPosition) { 
      seekBar.setProgress(secondaryPosition-1); 
     } 
    } 

    public void onStartTrackingTouch(SeekBar seekBar) { 

    } 

    public void onStopTrackingTouch(SeekBar seekBar) { 
     seekMediaPlayerToSeekBarTouch(seekBar); 
    } 

}; 

回答

1

我猜你有HandlerThread更新SeekBar?我會建議設置一個基本的檢查,看看用戶是否正在處理SeekBar,所以它不會繼續嘗試重新繪製正在處理的SeekBar的拇指。只需在onStartTrackingTouch()方法中將布爾值(例如mSeekbarTracking)設置爲true,然後在SeekBar更新程序中設置布爾值,使其在mSeekbarTracking嘗試更新之前檢查它是否爲false。

我不知道這是否能解決您所有的問題。也許你可以試試看看它是如何影響你的問題的。如果您發佈您用於更新SeekBar的代碼,它可能會幫助我們提供幫助。

乾杯