我可以根据某些条件调用相同的异步任务吗?
例如:
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/