我还没有看到这个问题,所以在这里。我有一个搜索栏,可以阻止寻求超出次要进度(在这种情况下,音乐缓冲)。假设这首歌是5分钟长,4分钟已经缓冲,它正在播放一分钟。当我去拖动拇指时,它拖得很好。问题是,当我停止拖动(不释放)然后再次拖动时,拇指会快速从当前播放位置(1分钟)跳到我拖动拇指的位置。当我发布时,没关系,这只是拖动拇指的问题。这是我的搜索栏听众......
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);
}
};
答案 0 :(得分:1)
我猜你有Handler
或Thread
来更新SeekBar
?我建议设置基本检查以查看用户是否正在处理SeekBar
,以便在处理SeekBar
时不会继续尝试重绘拇指。只需在mSeekbarTracking
方法中将布尔值(例如onStartTrackingTouch()
)设置为true,然后在SeekBar
更新程序中,在尝试更新它之前检查mSeekbarTracking
是否为false
我不知道这是否会解决你所有的问题。也许你可以尝试一下,看看它如何影响你的问题。如果您发布用于更新SeekBar
的代码,它可能会帮助我们。
干杯