android progressBar does not update progress view/drawable
SOLUTION: It's a Bug in ProgressBar!
finally... I think I found the solution...
this does not work as one would expect:
bar.setMax(50);
bar.setProgress(20);
bar.setMax(20);
bar.setProgress(20);
The setProgress(...) seems to not trigger the update on the drawable if the same value is passed again. But it's not triggered during the setMax, too. So the update is missing. Seems like a Bug in the android ProgressBar! This took me about 8 hours now.. lol :D
To solve this, I'm just doing a bar.setProgress(0) before each update... this is only a workaround, but it works for me as expected:
bar.setMax(50);
bar.setProgress(20);
bar.setProgress(0); // <--
bar.setMax(20);
bar.setProgress(20);
I was able to get this to work with View.post()
:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// ...
mSeekBar.post(new Runnable() {
@Override
public void run() {
mSeekBar.setProgress(percentOfFullVolume);
}
});
}
As with SKTs answer it is unclear to me why this should work when this does not
mSeekBar.setProgress(percentOfFullVolume);
However, it seems to be true up to and including Android Lollipop.