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

Работа с фрагментами - Android

Войти
Регистрация
Восстановить пароль
 
Marik1993
28 / 28 / 0
Регистрация: 27.03.2011
Сообщений: 156
26.08.2014, 14:07     Работа с фрагментами #1
У меня такая ситуация, есть фрагмент с фильтрами и фрагмент с товарами. Когда я нажимаю на кнопку фильтровать в фрагменте с фильтрами как мне перейти в фрагмент с товарами? Ну сделать своего рода swipe и обновить содержимое.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
 Аватар для YuraAAA
1563 / 1305 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
26.08.2014, 14:45     Работа с фрагментами #2
Marik1993, Запаковать фильтры в Bundle, отправить их во фрагмент с товарами через setArguments. Там их принять через getArguments и по ним обновить.
yura91
28 / 26 / 2
Регистрация: 23.10.2013
Сообщений: 2,137
27.08.2014, 00:04     Работа с фрагментами #3
а фрагмент кода можно приложить примерный??
Marik1993
28 / 28 / 0
Регистрация: 27.03.2011
Сообщений: 156
27.08.2014, 10:21  [ТС]     Работа с фрагментами #4
Ну я сделал по другому. Фильтра у меня отдельным классом. Вот код по переходу между фрагментами с обновлением:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
ViewPager viewPager = (ViewPager) getActivity().findViewById(R.id.pager);
 
 Button filterButton = (Button) rootView.findViewById(R.id.button);
        filterButton.setOnClickListener(new View.OnClickListener() {
 
            @Override
            public void onClick(View v) {
                setDataFilters();
 
                Fragment frg = null;
                frg = getFragmentManager().getFragments().get(0);
                FragmentTransaction ft = getFragmentManager().beginTransaction();
                ft.detach(frg);
                ft.attach(frg);
                ft.commit();
 
                viewPager.setCurrentItem(0);
            }
        });
yura91
28 / 26 / 2
Регистрация: 23.10.2013
Сообщений: 2,137
27.08.2014, 22:55     Работа с фрагментами #5
а как передать переменную или картинку из одного фрагмента в другой используя метод setArguments ?? Можете привести фрагмент кода??
Marik1993
28 / 28 / 0
Регистрация: 27.03.2011
Сообщений: 156
28.08.2014, 11:04  [ТС]     Работа с фрагментами #6
Попробуйте так
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
ViewPager viewPager = (ViewPager) getActivity().findViewById(R.id.pager);
 
 Button filterButton = (Button) rootView.findViewById(R.id.button);
        filterButton.setOnClickListener(new View.OnClickListener() {
 
            @Override
            public void onClick(View v) {
                setDataFilters();
                
                //Строка с передачей изображения, в другом фрагменте создайте конструктур с входящим параметром
                Fragment frg = new YouFragment(bitmap);
                FragmentTransaction ft = getFragmentManager().beginTransaction();
                ft.detach(frg);
                ft.attach(frg);
                ft.commit();
 
                viewPager.setCurrentItem(0);
            }
        });
YuraAAA
 Аватар для YuraAAA
1563 / 1305 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
28.08.2014, 11:08     Работа с фрагментами #7
Цитата Сообщение от Marik1993 Посмотреть сообщение
ft.detach(frg); ft.attach(frg);
зачем?

данные передавать можно так.

Java
1
2
3
4
5
6
Bundle args = new Bundle();
args.put("filter1", "value1");
....
frg.setArgumetns(args);
ft.replace(frg,...)
ft.commit();
yura91
28 / 26 / 2
Регистрация: 23.10.2013
Сообщений: 2,137
28.08.2014, 13:42     Работа с фрагментами #8
а во втором в принимающем данные фрагменте что будет??

Добавлено через 1 минуту
это в первом фрагменте передаются а во втором принимаются как ??
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
28.08.2014, 15:01     Работа с фрагментами #9
getArguments();

возвратит вам Bundle который вы отправили. Его и потрошите.

http://developer.android.com/referen...os/Bundle.html
yura91
28 / 26 / 2
Регистрация: 23.10.2013
Сообщений: 2,137
28.08.2014, 15:10     Работа с фрагментами #10
а как извлекать данные из Bunndle если мне допустим нужна картинка или целое??
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.08.2014, 15:24     Работа с фрагментами
Еще ссылки по теме:

Android Activity в Portrait/Landscape Orientation с разными фрагментами
Взимодействие между фрагментами Android

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

Или воспользуйтесь поиском по форуму:
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
28.08.2014, 15:24     Работа с фрагментами #11
проидите по ссылке которую я вам дал. Там куча методов на любой случай. Вас интересуют те которые начинаются с get. Если вам нужно передать какой то свой объект то в нем нужно сначала реализовать интерфейс Parcelable и использовать соответствующие методы.
Yandex
Объявления
28.08.2014, 15:24     Работа с фрагментами
Ответ Создать тему
Опции темы

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