Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
1

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

02.10.2014, 22:57. Просмотров 478. Ответов 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);
    }
Собственно почему запускается предыдущая версия фрагмента? Ведь я воздал новый экземпляр класса отвечающего за его отображение.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.10.2014, 22:57
Ответы с готовыми решениями:

Активити и фрагмент
в фрагменте у меня есть функция public void setBmp(Bitmap bmp) { } в активити я...

Фрагмент и карты
прочитал что MapView должен быть обязательным образом наследован от MapActivity как можно...

Фрагмент во фрагменте
Добрый день. А возможно ли создание фрагмента состоящего из нескольких фрагментов?

Из Активити в Фрагмент
Как передать данные из активити в фрамгент? пробую так но выкидывает из приложения Fragment f =...

CursorLoader и фрагмент
Возникла проблема. Используя в фрагменте CursorLoader в методе "onLoadFinished()" падает ошибка...

6
Max64
20 / 20 / 7
Регистрация: 27.10.2012
Сообщений: 156
03.10.2014, 00:16 2
Цитата Сообщение от KillAndEat Посмотреть сообщение
очередь должен запускать другой экземпляр fragment1
А где код запуска другого экземпляра fragment1?
0
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() из старого только непонятно почему, ведь фрагмент в фокусе не находится.
0
Max64
20 / 20 / 7
Регистрация: 27.10.2012
Сообщений: 156
03.10.2014, 01:05 4
А какой код в Utils.clearBackStack();
0
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 минут
Закрывайте!) Отдых помог найти баг)
0
Max64
20 / 20 / 7
Регистрация: 27.10.2012
Сообщений: 156
03.10.2014, 20:45 6
Цитата Сообщение от KillAndEat Посмотреть сообщение
Закрывайте!) Отдых помог найти баг)
Ну так что за баг был?)
0
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
04.10.2014, 19:54  [ТС] 7
Max64, косяк в архитектуре) обнулял одну переменную раньше чем нужно)
0
04.10.2014, 19:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2014, 19:54

OnActivityResult из сервис во фрагмент
Здравствуйте,есть акивити которая запускает мой сервис. после запуска, сервис должен отослать...

Как закрыть фрагмент?
Нужно в самом фрагменте завершить его работу и вернуться обратно, как это реализовать

Фрагмент поверх другого
Меняю фрагменты след. кодом: public void fragmentChange(int id, boolean addToBackStack){ ...


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

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

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