Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
odradek
4 / 4 / 1
Регистрация: 15.05.2012
Сообщений: 63
#1

Открыть активити не из главного класса

04.06.2013, 21:01. Просмотров 1147. Ответов 8
Метки нет (Все метки)

привет всем.
ситуация такая:
есть класс (обычный класс с методами) в котором в потоке допустим выполняются какие-либо действия.
и в конце этих операций мне нужно открыть новое активити.
примерно вот так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
protected String doInBackground(String... params) {
        
        String str= null;
        
        try
        {
            str = send(url);
            Log.d("USPESHNO", "null");
               
                // и вот здесь мне нужно открыть активити
 
        
        } catch (Exception e)
        {
            Log.d("NE USPESHNO", "null");
        }
 
        return str;
        
    }
чтобы открыть активити, насколько я понял нужно, чтобы класс расширял клас Activity и в конструкторе Intent указать 2 параметра.
1. this текущего класса
2. имя класса
так вот, мне нужно открыть активити не по нажатию на кнопку и не из главного класса (т.е активити)
возможно ли это сделать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2013, 21:01
Ответы с готовыми решениями:

Как вызвать метод в активити классе из обычного не активити класса?
Есть активити в котором вводятся логин и пароль. При нажатии кнопки "войти" в...

Вызов новой активити не из класса активити
Есть 4 класса: 1) WelcomeActivity; 2) MainActivity; 3) PopUpActivity; 4)...

Открыть второй активити
Раньше проблем с открытием второго активити через нажатие на кнопку не было....

Открыть картинку в новом активити
Приветствую уважаемые разрабы. Сразу извиняюсь если написал не в той ветке....

Как открыть PUSH в активити?
Суть вопроса в том,что я не могу понять как по клику на Пуш,у человека...

8
Hank
64 / 55 / 5
Регистрация: 28.12.2011
Сообщений: 301
04.06.2013, 21:08 #2
Воспользуйтесь классом AsyncTask и активити свое открывайте в методе onPostExecute.
0
odradek
4 / 4 / 1
Регистрация: 15.05.2012
Сообщений: 63
04.06.2013, 21:25  [ТС] #3
я использую AsyncTask
как открыть активити из другого класса?

Добавлено через 8 минут
допустим General - главный класс с активити
Work - класс расширяет AsyncTask и из него мне нужно открыть активити
Add - второе активити, которые нужно открыть.

этот код не пойдет:
Java
1
2
Intent intent = new Intent(this, Add.class);
startActivity(intent);
0
Hank
64 / 55 / 5
Регистрация: 28.12.2011
Сообщений: 301
04.06.2013, 22:05 #4
этот код не пойдет:
Это вопрос?
0
odradek
4 / 4 / 1
Регистрация: 15.05.2012
Сообщений: 63
04.06.2013, 22:12  [ТС] #5
Цитата Сообщение от Hank Посмотреть сообщение
Это вопрос?
нет.
делаю так:
в главном активити в глобальную публичную статичную переменную загоняю контекст.
Java
1
2
public static Context con;
con = getApplicationContext();
затем в другом классе создаю метод:
Java
1
2
3
4
5
public void func(Context context) {
        Intent intent = new Intent(context, Works.class);
        context.startActivity(intent);
 
    }
и в другом методе в этом же классе делаю:
Java
1
func(General.con);
но приложение завершается с ошибкой.
что здесь не так?
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.06.2013, 22:19 #6
Цитата Сообщение от odradek Посмотреть сообщение
но приложение завершается с ошибкой.
что здесь не так?
смотрите логи.
0
odradek
4 / 4 / 1
Регистрация: 15.05.2012
Сообщений: 63
04.06.2013, 22:20  [ТС] #7
наконец-то разобрался!
нужно было указать не
Java
1
con = getApplicationContext();
а
Java
1
con = this
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.06.2013, 22:26 #8
а не проще передать контекст в конструктор этого класса?
0
haribo
41 / 41 / 0
Регистрация: 26.05.2013
Сообщений: 160
06.06.2013, 00:58 #9
оно?
Java
1
2
3
4
5
        Intent i = new Intent();
        i.setClassName("ru.lookmyway", "MainMapActivity");
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        i.putExtra("from", "camera");
        context.startActivity(i);
0
06.06.2013, 00:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2013, 00:58

Открыть активити при нажатии на элемент Listview
Здравствуйте, в андроид-программирование не давно, подскажите пожалуйста как,...

Открыть старое активити при клике на уведомление
Добрый день. Есть такая штука: создается уведомление, оно появляется, при...

Как открыть активити с фрагмента используя кнопку?
У меня есть tab activity в ней есть фрагменты, так же есть второе tab activity...


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

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

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