asynctask.cancel(true / false)返回false,如何100%避免onPostExecute()被调用?

时间:2012-06-26 13:09:35

标签: android android-asynctask

我的目标是避免调用AsyncTask的onPostExecute()。 cancel()无法帮助我,因为它在100%的情况下不起作用:有时cancel()返回false,然后调用任务onPostExecute()。怎么预防这个?我在我的类中创建了boolean标志并将其设置为true而不是调用cancel(),但这不是一个好的解决方案:

public class GetIcons extends AsyncTask<Void, Void, HashMap<String, Bitmap>>
{
  public boolean skipPostExecute = false;

  @Override
  protected HashMap<String, Bitmap> doInBackground(Void... arg0)
  {
    // do something (getting icons from webserver)
  }

  @Override
  protected void onPostExecute(HashMap<String, Bitmap> result)
  {
    super.onPostExecute(result);
    if (!skipPostExecute)
    {
       // do something
    }
  }

}

还有更好的方法吗?

0 个答案:

没有答案