【问题】
折腾:
的过程中,虽然实现了代码了,且也调试确保调用到了Progressbar的setProgress,但是结果还是不更新。
直到事情完毕,最后突然更新到100%。
【解决过程】
1.参考:
貌似说是bug。
2.参考:
貌似还是UI的几种状态的逻辑没处理好的问题。
但是我这里,不是在onCreate中创建的。
不过的确是主线程中使用的,是某个按钮事件触发的。
其中是放在一个callback函数中的。
所以,按理来说,应该是处在onResume中才对的。
难道要把此代码放在onResume中去?
觉得不可理喻。
3.本来打算去试试onResume的,但是发现还是不正常。
毕竟更新进度条的工作,不应该独立的弄出来放到别的函数,就应该是自己的一个单独函数处理,才合理。
4.算了,还是参考最开始的:
去添加Handler的代码试试。
去参考官网:
最后折腾半天,终于可以实现更新进度条了:private ProgressBar pgbDownload;
private int downloadedPercent = 0;
public static final int maxPercent = 100;
private Handler progressBarHandler = new Handler();
...
/** Called whe