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

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

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

Переход из уведомления в фрагмент активити - Программирование Android

27.09.2016, 23:20. Просмотров 324. Ответов 12
Метки нет (Все метки)

Здравствуйте.Вывожу уведомление в статус бар, нужно чтобы по нажатию на него открывался фрагмент активити.
Фрагменты использовал для шторки.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 FragmentTransaction ftrans = getFragmentManager().beginTransaction();
 
        if (id == R.id.nav_camera) {
         
            ftrans.replace(R.id.container, fimport);
        } else if (id == R.id.nav_gallery) {
            ftrans.replace(R.id.container, fgallery);
 
        } else if (id == R.id.nav_slideshow) {
 
            ftrans.replace(R.id.container,ftri);
 
        } else if (id == R.id.nav_manage) {
 
        } else if (id == R.id.nav_share) {
 
        } else if (id == R.id.nav_send) {
 
        }ftrans.commit();
В других местах нужный мне фрагмент вызывал так.
Java
1
2
3
4
 
        FragmentTransaction ftrans = getFragmentManager().beginTransaction();
        ftrans.replace(R.id.container, fimport);
        ftrans.commit();
Но в уведомлениях так не получается, пробывал вот так,
Java
1
  Intent notificationIntent = new Intent(context, MainActivity.class);
но это работает только вызывает главное активити.
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
28.09.2016, 00:59     Переход из уведомления в фрагмент активити #2
Ну а что мешает в onCreate Activity установить фрагмент? Если нужно запустить не фрагмент по умолчанию для активити, а другой, то можно в notificationIntent добавить что-то типа:

Java
1
notificationIntent.putExtra(EXTRA_ID, FRAGMENT_ID);
Потом в onCreate выловить его и соответственно выставить нужный фрагмент...
Zyf21
0 / 0 / 0
Регистрация: 26.10.2014
Сообщений: 164
28.09.2016, 09:20  [ТС]     Переход из уведомления в фрагмент активити #3
OlegJV, oncreate Activity я другой фрагмент вызываю вот так.По другому не получалось.
Java
1
2
3
        FragmentTransaction ftrans = getFragmentManager().beginTransaction();
        ftrans.replace(R.id.container, fimport);
        ftrans.commit();
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
28.09.2016, 09:23     Переход из уведомления в фрагмент активити #4
И в чем проблема?
Zyf21
0 / 0 / 0
Регистрация: 26.10.2014
Сообщений: 164
28.09.2016, 09:27  [ТС]     Переход из уведомления в фрагмент активити #5
OlegJV, не получится установить на акиивити фрагмент. Тогда придётся предыдущий удалять.
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
28.09.2016, 09:49     Переход из уведомления в фрагмент активити #6
Цитата Сообщение от Zyf21 Посмотреть сообщение
Тогда придётся предыдущий удалять
В каком смысле? А ты как хочешь - один поверх другого?
Zyf21
0 / 0 / 0
Регистрация: 26.10.2014
Сообщений: 164
28.09.2016, 09:57  [ТС]     Переход из уведомления в фрагмент активити #7
OlegJV, нее.Просто в oncreate при старте приложения уже вызывается один фрагмент. А сейчас я хочу вызвать другой фрагмент при нажатии на уведомление в статус баре.Вы говорите его тоже нужно в oncreate прописать.И они будут одновременно вызываться, ведь при старте сначало запускается то что в oncreate.Или я что то не так понял...
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
28.09.2016, 10:08     Переход из уведомления в фрагмент активити #8
Ты в интент добавишь переменную. В onCreate проверка - если переменная в интенте есть, значит активити запущена из уведомления, загружаем один фрагмент. Если переменной нет - загружаем другой.

Добавлено через 3 минуты
Хотя переменная это неправильное название

Добавлено через 2 минуты
Типа bundle это будет
Zyf21
0 / 0 / 0
Регистрация: 26.10.2014
Сообщений: 164
28.09.2016, 19:33  [ТС]     Переход из уведомления в фрагмент активити #9
OlegJV, ага, теперь смысл понятен.Будем разбираться что за bundle такой.

Добавлено через 9 часов 14 минут
OlegJV, в onCreate проверка на нужный фрагмент будет что то типо такого?
Java
1
2
3
4
5
6
7
8
9
10
11
        int id = item.getItemId();
 
        FragmentTransaction ftrans = getFragmentManager().beginTransaction();
 
        if (id == R.id.nav_camera) {
 
            ftrans.replace(R.id.container, fimport);
        } else if (id == R.id.nav_gallery) {
            ftrans.replace(R.id.container, fgallery);
        }
        ftrans.commit();
Только все равно не понимаю как получить id, там вроде метод какой то нужен еще.
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
28.09.2016, 23:47     Переход из уведомления в фрагмент активити #10
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Intent это такая штука, в которую можно засунуть какие-нибудь данные, типа "строка" - "значение".
Типа так (в уведомлении):

Java
1
2
Intent notificationIntent = new Intent(context, MainActivity.class);
notificationIntent.putExtra("fragmentId", 123);
А потом получить эти данные, в данном случае в onCreate активити:

Java
1
2
3
4
5
Intent intent = getIntent();
int id = intent.getIntExtra("fragmentId", 0);
        if (id == 123) {
            // ставим нужный фрагмент
        }
Zyf21
0 / 0 / 0
Регистрация: 26.10.2014
Сообщений: 164
29.09.2016, 00:06  [ТС]     Переход из уведомления в фрагмент активити #11
OlegJV, спасибо огромное. Все работает. Скажите пожалуйста, а где можно побольше об этом почитать, искать статью про intent или про фрагменты?
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
29.09.2016, 01:00     Переход из уведомления в фрагмент активити #12
Вообще-то читать про все надо))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.09.2016, 12:05     Переход из уведомления в фрагмент активити
Еще ссылки по теме:
Android Передать SearchView из активити во фрагмент
Что лучше использовать фрагмент или активити Android
Переход между активити Android
Переход между активити Android
Переход на другой активити (список) Android

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

Или воспользуйтесь поиском по форуму:
Zyf21
0 / 0 / 0
Регистрация: 26.10.2014
Сообщений: 164
29.09.2016, 12:05  [ТС]     Переход из уведомления в фрагмент активити #13
OlegJV, ну это ясно)
Yandex
Объявления
29.09.2016, 12:05     Переход из уведомления в фрагмент активити
Ответ Создать тему
Опции темы

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