android - 同一个asynctask可以被调用多次吗

标签 android android-asynctask

我可以根据某些条件调用相同的异步任务吗?

例如:

switch(item)
{
  case 1:
    dataCommunicator.execute();
    break;
  case 2:
    dataComminicator.exwcute();
   break;
   .
   .
   .
}

class dataCommunicatoe extends AsyncTask{
  .
  .
  .
  .
  . 
}

最佳答案

是的,这是可能的:

您可以通过传递以下参数来调用相同的异步任务:

if (someLogicIsTrue)
    new AsyncTaskOperation().execute("FETCHUSER");
else
    new AsyncTaskOperation().execute("VALIDATECREDENTIALS");

异步任务应该是:

private class AsyncTaskOperation extends AsyncTask <String, Void, Void>
{
        String paramObject = "";

        @Override
        protected Void doInBackground(String... paramsObj) {
        paramObject = paramsObj[0];

        if ("FETCHUSER".equals(paramObject))
        {
              // OPERATION FOR  FETCH USER
        }
        else if ("VALIDATECREDENTIALS".equals(paramObject))
       {
             // OPERATION FOR VALIDATE CREDENTIALS.
       }
       return null;
     }

}

关于android - 同一个asynctask可以被调用多次吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25478701/

相关文章:

android - 网络操作和屏幕旋转

Android AudioManager.FLAG_VIBRATE 不工作

java - 滚动时移动 RecyclerView

java - Android:AsyncTask 可以重新创建自己吗?

php - 存储 JSON 的多个结果

java - 我如何从android中的数组内容值中获取(键,值)

java - 将 bitmab 从 Activity 传递回 Fragment

java - 重复类 org.apache.commons.logging

java - Android中解析JSON的问题

java - 如何将 CustomAdapter 与 ListView 一起使用