Всем привет) У меня такая задача: С активности я запускаю подгрузку одного JSON-чика по кнопке через AsynkTask. Мне нужно запустить прогрессбар, сделать, наверное progressBar.setCanceble(false); до тех пор, пока не произойдет загрузка (удачно). После удачной загрузки должна запуститься активность, которая распарсенные значения уже сделает, так как я хочу, но как это сделать, я нзаю.
Вопрос: где инициализировать - new ParseTask().execute();, чтобы запустить его как бы сказать... Наверное, в отдельном потоке. Причем, чтобы ничего остального не включалось, понимаете о чем я?. Например, сканер устройств маяков.
Действительно, после исполнения строчки
new NetworkClass((ScanningActivity) mContext).execute();
запускается метод doInBackground() в отдельном потоке.
В NetworkClass, унаследованном от AsynkTask, были добавлена возможность запуска прогресс-бара, который находится в ScanningActivity со специальным конструктором, и некая переменная типа Boolean, которая будет разрешать исполнение нужного мне участка кода в основной Activity после загрузки данных:
public NetworkClass(ScanningActivity scanningActivity) {
this.scanningActivity = scanningActivity;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
this.scanningActivity.showProgress();
}
....
@Override
public void onPostExecute(String strJson) {
super.onPostExecute(strJson);
...
this.scanningActivity.hideProgress();
ScanningActivity.checking = true;
}
Вопрос закрыт. Как показали тесты, это решает мою проблему. Спасибо за участие в обсуждениях ЮриюСПБ.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей