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

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

Войти
Регистрация
Восстановить пароль
 
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
#1

Не создается фрагмент - Android

02.10.2014, 22:57. Просмотров 392. Ответов 6
Метки нет (Все метки)

При запуске приложения отображается фрагмент (fragment1) этот фрагмент имеет кнопку при нажатии на которую запускается другой фрагмент (fragment2), очередь должен запускать другой экземпляр fragment1, но этого не происходит! Запускается снова fragment1, который отработал при старте приложения.

Вот код запуска второго fragment1 из fragment2.

Java
1
2
3
4
5
6
7
8
 private void load(String linkPart1, String linkPart2){
        Utils.clearBackStack();
        Feed feed = new Feed();
        Bundle arg = new Bundle();
        arg.putString(Constants.LINK, linkPart1 + linkPart2);
        arg.putInt(Constants.ID_KEY, Utils.getLoaderId());
        feed.setArguments(arg);
    }
Собственно почему запускается предыдущая версия фрагмента? Ведь я воздал новый экземпляр класса отвечающего за его отображение.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Max64
19 / 19 / 5
Регистрация: 27.10.2012
Сообщений: 156
03.10.2014, 00:16     Не создается фрагмент #2
Цитата Сообщение от KillAndEat Посмотреть сообщение
очередь должен запускать другой экземпляр fragment1
А где код запуска другого экземпляра fragment1?
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
03.10.2014, 01:02  [ТС]     Не создается фрагмент #3
Max64, очепятка

Java
1
2
3
4
5
6
7
8
9
private void load(String linkPart1, String linkPart2){
        Utils.clearBackStack();
        Feed feed = new Feed();
        Bundle arg = new Bundle();
        arg.putString(Constants.LINK, linkPart1 + linkPart2);
        arg.putInt(Constants.ID_KEY, Utils.getLoaderId());
        feed.setArguments(arg);
        ((MainActivity) context).getSupportFragmentManager().beginTransaction().replace(R.id.container,feed,null).addToBackStack(null).commit();
    }
Добавлено через 3 минуты
вообщем проблема в том, что при открытии нового fragment1 срабатывает связка методов onCreateView(), onActivityCreated() и onResume() из старого только непонятно почему, ведь фрагмент в фокусе не находится.
Max64
19 / 19 / 5
Регистрация: 27.10.2012
Сообщений: 156
03.10.2014, 01:05     Не создается фрагмент #4
А какой код в Utils.clearBackStack();
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
03.10.2014, 11:41  [ТС]     Не создается фрагмент #5
Java
1
2
3
4
5
FragmentManager manager = getActivity().getSupportFragmentManager();
int max = manager.getBackStackEntryCount()
for(int i = 0; i < max; ++i) {    
    fm.popBackStack();
}
Добавлено через 10 часов 30 минут
Закрывайте!) Отдых помог найти баг)
Max64
19 / 19 / 5
Регистрация: 27.10.2012
Сообщений: 156
03.10.2014, 20:45     Не создается фрагмент #6
Цитата Сообщение от KillAndEat Посмотреть сообщение
Закрывайте!) Отдых помог найти баг)
Ну так что за баг был?)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2014, 19:54     Не создается фрагмент
Еще ссылки по теме:

Android Переход из ListActivity в Фрагмент
Android Фрагмент и статическое поле
Фрагмент поверх другого Android
Вернуться во фрагмент с данными? Android
Android Фрагмент сжимается в активити

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

Или воспользуйтесь поиском по форуму:
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
04.10.2014, 19:54  [ТС]     Не создается фрагмент #7
Max64, косяк в архитектуре) обнулял одну переменную раньше чем нужно)
Yandex
Объявления
04.10.2014, 19:54     Не создается фрагмент
Ответ Создать тему
Опции темы

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