2015-11-20 3 views
0

У меня есть несколько AsyncTask в моем проекте, чтобы захватить данные из некоторого данного apis. Я выполнил следующие шаги.ReExecute AsyncTask

1) execute an Async Task and try to grab datas from there. 
2) check conditions for internet and server down 
3) if any issue in api or internet or server then show dialog [custom from self made class] 
4) dismiss button for canceling the dialog and go back to the working stage of `app may be even by closing the activity` 

Моя проблема, я хочу, чтобы держать Button«Retry» таким образом, что он должен быть повторно выполнение AsyncTask. Я искал прохождение AsyncTask, но это казалось бесполезным, поскольку я пришел к выводу, что AsyncTask не может быть передан. И поэтому я вынужден повторить тот же код cancel(true) для разного времени

Было бы очень полезно, если бы кто-нибудь мог дать мне решение для этого с помощью этой концепции повторного использования кода.

+0

Что не так с созданием и выполнением AsyncTask от функции, а затем вызвать ее из вашего «DialogListener»? –

+0

Как создать различную задачу Async из одной функции с различным контекстом для запуска? Любой простой пример будет оценен –

ответ

0

Устранена Проблема с помощью кнопки повтора, которая создает новый объект класса, реализующий задачу Async и выполняющий этот новый объект.

3

Вы не можете «повторить» один и тот же объект AsyncTask - вы можете только один раз вызвать AsyncTask # execute(). Однако вы можете создать новый экземпляр AsyncTask, когда пользователь решит повторить задачу загрузки.

+0

yes Я хочу создать экземпляр Async Task при нажатии кнопки Retryu. Но как это сделать? –

+0

Попробуйте поместить свой оригинальный код AsyncTask в функцию и вызвать его всякий раз, когда нажимается кнопка. Перед тем, как сделать это, отмените все предыдущие задачи. – fractalwrench

+0

У меня есть различные задачи async, как бы я знал конкретный? И я должен сделать это для каждого. –

Смежные вопросы