Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
NapalmRain
38 / 38 / 3
Регистрация: 18.05.2010
Сообщений: 629
#1

Работа с VIEW объектами из TaskAsync вынесенного в отдельный файл - Программирование Android

05.06.2014, 23:09. Просмотров 630. Ответов 4
Метки нет (Все метки)

Доброго всем времени суток!
Есть класс для работы с API сайта.
он наследуется от AsyncTask, что бы отправлять сетевые запросы в отдельном потоке.
Когда этот класс прописан внутри текущей Activity проблем нет, но я захотел вынести его в отдельный файл, что бы не писать один и тот же класс в каждой активити, где нужно использовать API, но тут столкнулся с проблемой, что даже в onPre... и onPostExecute я не могу обращаться к view объектам, что и понятно, их же в этом классе нет и быть не может, но вот как ему передать туда ссылки на эти объекты, понять не могу.

Для примера в тестовом приложении взял код из урока
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class siteapi extends AsyncTask<String, Void, Void> {
        protected void onPreExecute() {
              super.onPreExecute();
              Toast.makeText(MainActivity.this, "Выполняется подключение", Toast.LENGTH_LONG).show();
              progBar.setVisibility(0);
            }
        @Override
        protected Void doInBackground(String... funcs) {
            try {
                TimeUnit.SECONDS.sleep(2);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            return null;
        }
 
        @Override
        protected void onPostExecute(Void result) {
            super.onPostExecute(result);
            progBar.setVisibility(4);
            Toast.makeText(MainActivity.this, "Выполнено", Toast.LENGTH_LONG).show();
        }
Если создать этот класс в отдельном файле, то в строках
Java
1
2
Toast.makeText(MainActivity.this, "Выполняется подключение", Toast.LENGTH_LONG).show();
progBar.setVisibility(0);
Буду получать ошибку.

Буду очень признателен, если мне пояснят, как решить данную проблему.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2014, 23:09     Работа с VIEW объектами из TaskAsync вынесенного в отдельный файл
Посмотрите здесь:
Запись лога в отдельный файл Android
Android Работа с классом View
Android В чем разница (View view) и (View v)
Public void onClick(View view) Android
View вытесняет другое view из activity Android
План помещения с объектами Android
Манипуляции с графическими объектами Android
Android Подскажите эффекты с объектами и со словами
Алгоритм поочередного заполнения ImageView, объектами Android
Какими объектами лучше пользоваться для создания галереи? Android
Android Вынести метод в отдельный класс
Android Кусок кода в отдельный класс

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Pablito
2410 / 1855 / 581
Регистрация: 12.05.2014
Сообщений: 6,591
Завершенные тесты: 1
06.06.2014, 11:20     Работа с VIEW объектами из TaskAsync вынесенного в отдельный файл #2
можно в тот класс, который наследуется от AsyncTask, в конструктор, передавать все нужные ссылки на объекты
shulyakyarik
10 / 10 / 3
Регистрация: 28.03.2014
Сообщений: 156
06.06.2014, 15:39     Работа с VIEW объектами из TaskAsync вынесенного в отдельный файл #3
Паблито, это как создать объект класса? В классе AsyncTask я создал объект класса MainActivity, но при вызове метода setText(string) в методе onPostExecute вылезла ошибка
NOSC
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
06.06.2014, 15:48     Работа с VIEW объектами из TaskAsync вынесенного в отдельный файл #4
Цитата Сообщение от NapalmRain Посмотреть сообщение
Toast.makeText(MainActivity.this, "Выполняется подключение", Toast.LENGTH_LONG).show();
Попробуйте в этой строчке MainActivity.this заменить на getApplicationContext()

Java
1
Toast.makeText(getApplicationContext(), "Выполняется подключение", Toast.LENGTH_LONG).show();
NapalmRain
38 / 38 / 3
Регистрация: 18.05.2010
Сообщений: 629
06.06.2014, 18:24  [ТС]     Работа с VIEW объектами из TaskAsync вынесенного в отдельный файл #5
Благодарю за советы, решил вопрос другим путём: переопределением методов pre b postExecute в activity в месте создания экземпляра класса.
Yandex
Объявления
06.06.2014, 18:24     Работа с VIEW объектами из TaskAsync вынесенного в отдельный файл
Ответ Создать тему
Опции темы

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