Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Marik1993
28 / 28 / 0
Регистрация: 27.03.2011
Сообщений: 156
#1

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

26.08.2014, 14:07. Просмотров 934. Ответов 10
Метки нет (Все метки)

У меня такая ситуация, есть фрагмент с фильтрами и фрагмент с товарами. Когда я нажимаю на кнопку фильтровать в фрагменте с фильтрами как мне перейти в фрагмент с товарами? Ну сделать своего рода swipe и обновить содержимое.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.08.2014, 14:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с фрагментами (Программирование Android):

Работа с фрагментами - Программирование Android
Здравствуйте! Имеется активити package com.example.des.farmer; import android.content.Intent; import android.os.Bundle; import...

Операции с фрагментами - Программирование Android
Если вызвать транзакцию remove для текущего фрагмента в контейнере. То вызовется ли у этого фрагмента метод onDestroy? Добавлено через...

Взаимодействие активити с фрагментами - Программирование Android
Всем доброй ночи и у меня уже давно возник вопрос по поводу фрагментов, сижу ночами и мучаюсь, все никак не могу понять как реализовать...

Переход между фрагментами - Программирование Android
Здравствуйте. Подскажите, как из одного фрагмента перейти на другой по нажатию кнопки? Можно ли это реализовать через intent и...

Взимодействие между фрагментами - Программирование Android
Суть такова - имеется всего одна активность. Она содержит фрагмент, на котором расположены текстовые поля, а уже этот фрагмент содержит...

Сделать переключение между фрагментами - Программирование Android
Здравствуйте. Подскажите как сделать переключение между фрагментами. Есть 3 фрагмента. на которых размещены кнопки. Как через кнопки...

10
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
26.08.2014, 14:45 #2
Marik1993, Запаковать фильтры в Bundle, отправить их во фрагмент с товарами через setArguments. Там их принять через getArguments и по ним обновить.
0
yura91
1 / 25 / 2
Регистрация: 23.10.2013
Сообщений: 2,310
27.08.2014, 00:04 #3
а фрагмент кода можно приложить примерный??
0
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);
            }
        });
0
yura91
1 / 25 / 2
Регистрация: 23.10.2013
Сообщений: 2,310
27.08.2014, 22:55 #5
а как передать переменную или картинку из одного фрагмента в другой используя метод setArguments ?? Можете привести фрагмент кода??
0
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);
            }
        });
0
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 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();
0
yura91
1 / 25 / 2
Регистрация: 23.10.2013
Сообщений: 2,310
28.08.2014, 13:42 #8
а во втором в принимающем данные фрагменте что будет??

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

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

http://developer.android.com/reference/android/os/Bundle.html
0
yura91
1 / 25 / 2
Регистрация: 23.10.2013
Сообщений: 2,310
28.08.2014, 15:10 #10
а как извлекать данные из Bunndle если мне допустим нужна картинка или целое??
0
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
28.08.2014, 15:24 #11
проидите по ссылке которую я вам дал. Там куча методов на любой случай. Вас интересуют те которые начинаются с get. Если вам нужно передать какой то свой объект то в нем нужно сначала реализовать интерфейс Parcelable и использовать соответствующие методы.
0
28.08.2014, 15:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.08.2014, 15:24
Привет! Вот еще темы с ответами:

Ошибка при работе с фрагментами - Программирование Android
Soory if it's unapproprite here, but I do not know what to do. I have just finished my first lesson. Error inflating class fragment--this...

Подвисает ViewPager с фрагментами внутри - Программирование Android
Собственно вот в чём соль. Есть ViewPager с фрагментами внутри, в каждом фрагменте есть изображение которое подгружается из ресурсов...

Ошибка с фрагментами при повороте устройства - Программирование Android
Здравствуйте! Имеется такой код activity: public class MainActivity extends ActionBarActivity { private int selectedDay = 0; ...

Activity в Portrait/Landscape Orientation с разными фрагментами - Программирование Android
Подскажите, как реализовать два разных фрагмента в Activity в Portrait/Landscape Orientation. Нужно, чтобы в Portrait загружался один...


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

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

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