У меня есть AsyncTask, которая получает информацию из Интернета. Иногда соединение терпит неудачу, и процесс обработки данных AsyncTask работает вечно.Проверьте, слишком ли длинна AsyncTask
В doInBackground у меня есть чек в конце, если моя пойманная информация пуста, и если это так, то должна появиться кнопка Positive/Negative, но этого не происходит. Диалог только что запущен.
Как проверить, занимает ли AsyncTask слишком много времени (может быть, 5 секунд) и отклонить диалог?
Фрагмент коды (doInBackground):
//orders is my ArrayList<Order> object, from my own Order class.
if(orders==null) {
pdia.dismiss();
AlertDialog.Builder alt_bld = new AlertDialog.Builder(ctx);
alt_bld.setMessage("Try agin?")
.setCancelable(false)
.setPositiveButton("Try again", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
button_refresh.setVisibility(View.GONE);
new ListTask().execute(null, null , null);
}
})
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert = alt_bld.create();
alert.setTitle("Connection failed!");
alert.show();
}
else {
return orders;
}
Заранее спасибо, и скажи мне, если вам нужно больше информации!
где вы отклоняете диалог в случае успеха, то есть заказы! = Null? – bhups
Выше текущего кода, так как я его отклоняю, когда я вызываю для publishProgress() там. – Curtain