sow*_*ens 8 android seekbar android-fragments
我Seekbar在片段中使用a 并需要移动Seekbar到不同的位置.但是,setProgress(xxx)不起作用.
你如何编程方式触发此方法为Seekbar:public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser)?移动Seekbar手动工作正常.
Xar*_*mer 14
这是ProgressBar中的一个Bug!
如果再次传递相同的值,setProgress(...)似乎不会触发更新drawable.但它也不会在setMax期间触发.因此缺少更新.
为了解决这个问题,我只是bar.setProgress(0)在每次更新之前做一次...这只是一种解决方法,但它对我有用,如预期:
bar.setProgress(0); // call these two methods before setting progress.
bar.setMax(20);
bar.setProgress(20);
Run Code Online (Sandbox Code Playgroud)
第二选择.
mSeekBar.post(new Runnable() {
@Override
public void run() {
mSeekBar.setProgress(percentOfFullVolume);
}
});
Run Code Online (Sandbox Code Playgroud)
它也可能适用于某人.
尝试先设置最大值,然后设置进度.
SeekBar.setProgress()应该可以正常工作。您确定您的代码正在 UI 线程上执行吗?如果不是,那么这将是显而易见的解释。检查 API 文档中 ProgressBar 的示例
https://developer.android.com/reference/android/widget/ProgressBar.html
他们展示了如何将执行带回主线程。
| 归档时间: |
|
| 查看次数: |
15852 次 |
| 最近记录: |