Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
supermax74
0 / 0 / 0
Регистрация: 25.12.2015
Сообщений: 12
#1

AsyncTask не выполняет код после завершения - Программирование Android

06.12.2016, 16:37. Просмотров 154. Ответов 4
Метки нет (Все метки)

При окончании работы doInBackground не вызывается onPostExecute

класс ParseTask:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public class ParseTask extends AsyncTask<String, Integer, String> {
 
    protected String doInBackground(String... params) {
        HttpURLConnection connection = null;
        BufferedReader reader = null;
        StringBuffer buffer = new StringBuffer();
        try {
            URL url = new URL(params[0]);
            connection = (HttpURLConnection) url.openConnection();
            Log.i("doInBackground: ", "Started parsing: " + params[0]);
            connection.connect();
 
 
            InputStream stream = connection.getInputStream();
 
            reader = new BufferedReader(new InputStreamReader(stream));
 
 
            String line = "";
            line = reader.readLine();
            Log.i("doInBackground: ", "Done... ");
            return line;
        } catch (MalformedURLException e) {
            e.printStackTrace();
            Log.wtf("E", "doInBackground: Error Parse task");
        } catch (IOException e) {
            e.printStackTrace();
            Log.wtf("E", "doInBackground: Error Parse task");
        }
        return null;
    }
}
Класс fillListView
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
private class fillListView extends ParseTask {
 
        @RequiresApi(api = Build.VERSION_CODES.KITKAT)
        @Override
        protected void onPostExecute(String strJson) {
            mListView = (ListView) findViewById(R.id.listView);
            ArrayList<Sight> sightList = Sight.getSightsFromJSONString(strJson);
            SightAdapter adapter = new SightAdapter(getBaseContext(), sightList);
            mListView.setAdapter(adapter);
            ProgressBar pb = (ProgressBar) findViewById(R.id.progressBar);
            pb.setVisibility(View.GONE);
        }
    }
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2016, 16:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос AsyncTask не выполняет код после завершения (Программирование Android):

Дождаться завершения работы AsyncTask и выполнять код дальше - Программирование Android
Помогите, пожалуйста. Мне нужно дождаться завершения работы AsyncTask и только потом выполнять код дальше. Я уже понял, что для этого нужно...

Ожидание завершения AsyncTask - Программирование Android
Имеется класс &quot;расширяющий&quot; AsyncTask. Как я понимаю при создании объекта этого класса создается новый поток который выполняется...

Загрузка ListView после AsyncTask - Программирование Android
В классе, который расшияет AsyncTask, занружаю данные из JSON и сохраняю в бд. При первом запуске апликации, список не выдаёт какого либо...

Почему после завершения работы приложение активно? - Программирование Android
Установил программу на телефон. Протестил, делаю выход:finish(); System.exit(0); Открываю настройки-&gt;приложения-&gt;(моя программа) ...

Ожидание завершения работы AsyncTask - Java SE
Здравствуйте! Есть функция. В ней запускаю работу класса AsyncTask. В этой же функции дожидаюсь результата AsyncTask с помощью метода...

Что нужно добавить в код, чтоб он сразу не закрывался после завершения цикла - C (СИ)
Здравствуйте,подскажите пожалуйста, что нужно добавить в код, чтоб он сразу не закрывался после завершения цикла, и чтоб его предыдущие...

4
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
06.12.2016, 16:41 #2
а где код, который создает этот таск, что там написано?
0
supermax74
0 / 0 / 0
Регистрация: 25.12.2015
Сообщений: 12
06.12.2016, 16:42  [ТС] #3
ParseTask parseTask = new ParseTask();
parseTask.execute(getString(R.string.URLsrc));
0
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
06.12.2016, 16:56 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
ну я так и знал, почему
Java
1
ParseTask parseTask = new ParseTask();
а не?
Java
1
fillListView parseTask = new fillListView();
1
supermax74
0 / 0 / 0
Регистрация: 25.12.2015
Сообщений: 12
06.12.2016, 16:57  [ТС] #5
Точно! Я даже и не подумал)))
0
06.12.2016, 16:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2016, 16:57
Привет! Вот еще темы с ответами:

Изменения цвета div после после удачного завершения запроса Ajax - jQuery
Добрые сутки! Помогите решить следующую проблему. Есть 10-ть Div внутри каждой написано три слова: (красный, синий, зеленый). Когда...

код, который прекрасно выполняет Code::Blocks не выполняеться в Студии, как сделатьь так чтобы Студия воспринимала этот код?? - C++
Ребята, обьясните мне чего код, который прекрасно выполняет Code::Blocks не выполняеться в Студии, там требуються существенно другие...

Что выполняет код? - C++ Builder
Всем привет. Я давно занимаюсь программированием, но так и не знаю, что выполняется в таких кодах? int peremennaya == 123; и ...

Что выполняет код? - jQuery
Всем привет, расскажите, что выполняет этот код и что означают i и v? $.each(itemsTape, function(i,v){ ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru