AsyncTask не работает - не может создать экземпляр ошибки типа - PullRequest
0 голосов
/ 13 января 2011

У меня есть public class FriendMaps extends MapActivity, который вызывается из пункта меню при выборе, и в конце этого у меня есть private abstract class DownloadFilesTask extends AsyncTask<Void, Void, Void> там, я делаю некоторые серверные вызовы и помещаю данные в локальные массивы и т. Д.

Но в моем public void onCreate(Bundle savedInstanceState) действии FriendMaps я вызываю new DownloadFilesTask().execute(); и получаю следующую ошибку:

Ошибка: невозможно создать экземпляр типа FriendMaps.DownloadFilesTask

Fromдокументация:

Для использования AsyncTask необходимо использовать подклассы.

Это будет выполнено DownloadFilesTask extends AsyncTask там.

Экземпляр задачидолжен быть создан в потоке пользовательского интерфейса

Может быть, это где я запутался?Насколько я понимаю, поток пользовательского интерфейса отображает текущее действие - если это так, то onCreate действия FriendMaps является правильным местом для execute ();

Если для дальнейшей помощи требуются полные спинки кода, прокомментируйте иЯ добавлю, где это необходимо.

Ответы [ 2 ]

5 голосов
/ 13 января 2011

Вы не можете создать его экземпляр, потому что вы объявили DownloadFilesTask как абстрактный класс, который по определению не может быть создан

0 голосов
/ 13 января 2011

Возможно, вы захотите сделать свое объявление следующим образом

private class DownloadFilesTask extends AsyncTask<Void, Void, Void>

Возможно, вы не имели в виду, что это абстрактный класс, и, как сказал @ maid450, вы не можете создать экземпляр абстрактного класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...