AsyncTask:doInBackground()的返回值去了哪里?

2024-02-03

打电话时AsyncTask<Integer,Integer,Boolean>,其中是返回值:

protected Boolean doInBackground(Integer... params)?

通常我们启动 AsyncTask 是new AsyncTaskClassName().execute(param1,param2......);但它似乎没有返回值。

哪里可以得到返回值doInBackground()被发现?


然后该值可用于执行后 http://developer.android.com/intl/zh-TW/reference/android/os/AsyncTask.html#onPostExecute%28Result%29您可能需要覆盖它才能使用结果。

以下是 Google 文档中的示例代码片段:

 private class DownloadFilesTask extends AsyncTask<URL, Integer, Long> {
      protected Long doInBackground(URL... urls) {
          int count = urls.length;
          long totalSize = 0;
          for (int i = 0; i < count; i++) {
              totalSize += Downloader.downloadFile(urls[i]);
              publishProgress((int) ((i / (float) count) * 100));
          }
          return totalSize;
      }

      protected void onProgressUpdate(Integer... progress) {
          setProgressPercent(progress[0]);
      }

      protected void onPostExecute(Long result) {
          showDialog("Downloaded " + result + " bytes");
      }
 }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AsyncTask:doInBackground()的返回值去了哪里? 的相关文章

随机推荐