Android SeekBar设置进度值

前端之家收集整理的这篇文章主要介绍了Android SeekBar设置进度值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我单击按钮时,我希望seekbar进度更改.使用setProgress()仅适用于初始值,如果在进行某些更改后使用,则会抛出错误.

解决方法

也许你应该尝试使用一个处理程序?我在我的应用程序中使用这个,工作正常.

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);
// ...

2)当您的按钮被点击时

// ...
seekBarHandler.post(new Runnable() {
    @Override
    public void run() {
        if (seekBar != null) {
            seekBar.setMax(0);
            seekBar.setMax(max);
            seekBar.setProgress(newProgress);
        }
    }
});
// ...

猜你在找的Android相关文章