2017-09-22 196 views
1

我已经实现了简单的基于SeekBar的音量控制滑块(所以它应该可以平滑地拖动)。奇怪的是,当我的代码完整时,它不能被拖拽 - 我只能单击左键或右键。Android SeekBar在某些条件下不可拖动

然后我删除了一些代码,它与SeekBar本身没有任何关系 - 它开始工作了!除了设置初始值之外,我也没有在任何时候使用setProgress()。

因此,我的代码独立,有一些可以防止对拖动事件作出反应。任何想法在哪里看?

的Android 7.0

+0

如果您可以发布与seekbard相关的代码以及您认为导致seekbar再次运行的代码,这将对您有所帮助 –

+0

由于它是围绕课程分发的,因此实际上并不可行。我发现我注释掉了“onProgressChanged()”处理程序,然后一切按预期工作。 –

+1

你在那里做了很多东西,还是花费了太多时间?因为如果你是,你可能会阻止UI线程。 –

回答

2

的问题是在我的代码:搜索栏更改侦听称为notifyObservers(),其中之一就是其包含在搜索栏的片段。更糟的是,Seekbar是放入RecycleView的视图,显然,调用notifyDataSetChanged()以某种方式取消所有当前事件。