我希望SeekBar每当我点击按钮时进度都会改变.使用setProgress()仅适用于初始值.如果我在一些更改后使用它会抛出错误.
PFR*_*LIM 27
也许你应该尝试使用处理程序?我在我的应用程序中使用它并且工作正常.
1)创建SeekBar时:
// ...
seekBarHandler = new Handler(); // must be created in the same thread that created the SeekBar
seekBar = (SeekBar) findViewById(R.id.my_seekbar);
// you should define max in xml, but if you need to do this by code, you must set max as 0 and then your desired value. this is because a bug in SeekBar (issue 12945) (don't really checked if it was corrected)
seekBar.setMax(0);
seekBar.setMax(max);
seekBar.setProgress(progress);
// ...
Run Code Online (Sandbox Code Playgroud)
2)单击按钮时
// ...
seekBarHandler.post(new Runnable() {
@Override
public void run() {
if (seekBar != null) {
seekBar.setMax(0);
seekBar.setMax(max);
seekBar.setProgress(newProgress);
}
}
});
// ...
Run Code Online (Sandbox Code Playgroud)
尝试这个 :
seekBar.setMax(50);
seekBar.setProgress(22);
Run Code Online (Sandbox Code Playgroud)
代替 :
seekBar.setProgress(22);
seekBar.setMax(50);
只有先设置 Max Value,SeekBar 才能在设置 progressValue 时了解实际取得了多少进展。
当我想要我的进度条的默认值时,这实际上对我产生了影响
| 归档时间: |
|
| 查看次数: |
61299 次 |
| 最近记录: |