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

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

02.10.2014, 22:57. Просмотров 462. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Не создается фрагмент (Программирование Android):

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

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

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

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

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

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

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
Привет! Вот еще темы с решениями:

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

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

Загрузка данных на фрагмент
Такой вопрос. В приложение поступают данные типа картинка и текст. Хочу сделать...

Вывод данных из бд в фрагмент
Здравствуйте У меня есть класс который наследуется от Fragment и класс для...


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

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

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