为什么AsyncTask<>接口的onProgressUpdate()方法从未被调用?

9
onProgressUpdate()从来没有被调用,你能告诉我为什么吗?
private class LoginMe extends AsyncTask<Context, Void, Boolean> {

    @Override
    protected Boolean doInBackground(Context... arg0) {
        doSomething();
        return true;
    }

    @Override
    protected void onProgressUpdate(Void... v) {
        super.onProgressUpdate(v);
        Log.d("Dev", "Im in onProgressUpdate()");
    }

    @Override
    protected void onPostExecute(Boolean result) {
        super.onPostExecute(result);
        if (result) {
            doOne();
        } else {
            doTwo();
        }
    }
}
1个回答

25

您需要在doInBackground中手动调用publishProgress方法。

doInBackground(Params...),在onPreExecute()完成后立即在后台线程上执行。......此步骤也可以使用publishProgress(Progress...)发布一个或多个进度单位。这些值在onProgressUpdate(Progress...)步骤中在UI线程上发布。

http://developer.android.com/reference/android/os/AsyncTask.html


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接