为什么onProgressUpdate
没有被调用?
public class DoStuff extends AsyncTask<Integer, Integer, String> {
private MainActivity activity;
public DoStuff(MainActivity a){
activity = a;
}
protected String doInBackground(Integer... params) {
Integer loops = params[0];
for (int i = 0; i <= loops.intValue() ; i++) {
SystemClock.sleep(1000);
publishProgress(new Integer((i / loops) * 100));
}
return "Done: " + loops.intValue();
}
protected void onProgressUpdate(Integer progress)
{
activity.updateProgress("" + progress.intValue() + "%");
}
}
答案 0 :(得分:1)
您使用onProgressUpdate
更改
protected void onProgressUpdate(Integer progress)
{
activity.updateProgress(""+progress.intValue() +"%");
}
到
protected void onProgressUpdate(Integer... progress)
{
activity.updateProgress(""+progress[0].intValue() +"%");
}
答案 1 :(得分:1)
你必须改变:
protected void onProgressUpdate(Integer progress) {
activity.updateProgress(""+progress.intValue() +"%");
}
为:
protected void onProgressUpdate(Integer... progress) {
activity.updateProgress(""+progress.intValue() +"%");
}
参数必须是您声明为第二个
的类型的变量