Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
nucrea
0 / 0 / 0
Регистрация: 19.11.2016
Сообщений: 26
1

Взимодействие между фрагментами

26.12.2016, 20:42. Просмотров 506. Ответов 9
Метки нет (Все метки)

Суть такова - имеется всего одна активность. Она содержит фрагмент, на котором расположены текстовые поля, а уже этот фрагмент содержит другой фрагмент, на котором расположены кнопки. Суть в том, что в зависимости от того, какого текстового поля коснулись, с тем и будут работать кнопки. Соответственно вопрос - каким образом можно передать во время работы программы фрагменту кнопок ссылку на объект того текстового поля, которое было выбрано ? Но только не используя IsChecked().

Иными словами - можно ли организовать родительским фрагментом\активностью управление объектами типа View дочернего фрагмента ?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2016, 20:42
Ответы с готовыми решениями:

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

Переходы между фрагментами в BottomNavigationView
При переходах между фрагментами внизу отображается текущий фрагмент (подсвечивается иконка). Но при...

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

Как переключаться между фрагментами
Добрые люди. имеется одна активити . в нём контейнер и одна кнопка снизу. когда нажимаю на кнопку...

Как Random-но переключаться между фрагментами по нажатию кнопки?
Мне нужна ваша помощь. У меня есть фрагменты с TextView и RaioButtons и Button, с помощью кнопки...

9
TonyBicbaev
3 / 3 / 0
Регистрация: 04.11.2013
Сообщений: 133
28.12.2016, 09:09 2
пишешь во втором фрагменте метод, который будет, принимать твои параметры. И в нем уже делаешь че хочешь со своими кнопками, можешь даже передать это вею как параметр.
по клику, на текстовое поле будешь вызывать его fragment2.твойМетод и блокировать кнопку.
главное, что бы экземпляры фргаментов совпадали.
0
Pablito
2829 / 2248 / 759
Регистрация: 12.05.2014
Сообщений: 7,849
Завершенные тесты: 1
28.12.2016, 12:54 3
Цитата Сообщение от TonyBicbaev Посмотреть сообщение
, на текстовое поле будешь вызывать его fragment2.твойМетод и
официальная дока говорит что так делать нельзя
Цитата Сообщение от nucrea Посмотреть сообщение
Суть такова
суть такова, что надо изучать паттерны программирования, например MVP
0
TonyBicbaev
3 / 3 / 0
Регистрация: 04.11.2013
Сообщений: 133
29.12.2016, 04:47 4
ну тогда interface в помощь
0
xaat
43 / 16 / 6
Регистрация: 05.12.2015
Сообщений: 65
30.12.2016, 02:27 5
Можно так:

Java
1
compile 'org.greenrobot:eventbus:3.0.0'
Фрагмент 1:
Java
1
EventBus.getDefault().post(new MyEvent());
Фрагмент 2:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@Subscribe(threadMode = ThreadMode.MAIN)  
public void onMessageEvent(MyEvent event) {};
 
@Override
public void onStart() {
    super.onStart();
    EventBus.getDefault().register(this);
}
 
@Override
public void onStop() {
    super.onStop();
    EventBus.getDefault().unregister(this);
}
3
CoolMind
422 / 404 / 66
Регистрация: 06.10.2012
Сообщений: 1,734
31.12.2016, 11:53 6
Спасибо за EventBus, всё присматриваюсь к ней. Действительно, стандартный способ общения через активность - мазохизм чистой воды. Я сейчас использую setTargetFragment, но этот способ теоретически имеет минусы и должен использоваться больше для DialogFragment.

Добавлено через 1 час 21 минуту
xaat, почему взяли пару onStart - onStop, а не onResume - onPause?
0
fraley
110 / 110 / 43
Регистрация: 24.05.2015
Сообщений: 329
31.12.2016, 14:10 7
Цитата Сообщение от CoolMind Посмотреть сообщение
xaat, почему взяли пару onStart - onStop, а не onResume - onPause?
Думаю более теоритически подкованные форумчане чем я объяснят почему и как, но по крайней мере на гите в примере рекомндуется в onStart - onStop:
https://github.com/greenrobot/EventBus
От себя же добавлю, что эта библиотека архиполезная.... с месяц назад с ее помощью решил проблему взаимодествия из RecyclerViewCursorAdapter-а во фрагмент.
0
CoolMind
422 / 404 / 66
Регистрация: 06.10.2012
Сообщений: 1,734
31.12.2016, 22:05 8
Цитата Сообщение от fraley Посмотреть сообщение
решил проблему взаимодествия из RecyclerViewCursorAdapter-а во фрагмент.
Если не секрет, в чём была сложность? Я тоже как-то передавал (из адаптера RecyclerView) во фрагмент, делал через обратные вызовы, если надо, могу поискать как. Там много мути, конечно.
0
fraley
110 / 110 / 43
Регистрация: 24.05.2015
Сообщений: 329
01.01.2017, 10:21 9
Цитата Сообщение от CoolMind Посмотреть сообщение
Если не секрет, в чём была сложность? Я тоже как-то передавал (из адаптера RecyclerView) во фрагмент, делал через обратные вызовы, если надо, могу поискать как. Там много мути, конечно.
Не совсем понял вопроса, если в нем уже ответ.
0
CoolMind
422 / 404 / 66
Регистрация: 06.10.2012
Сообщений: 1,734
01.01.2017, 17:17 10
Цитата Сообщение от fraley Посмотреть сообщение
Не совсем понял вопроса
Понятно. Я просто сначала подумал, что там сложная проблема, которую без костылей или библиотек было не решить (по аналогии с кэшированием изображений, которую лучше решать библиотеками типа Picasso, Glide).
0
01.01.2017, 17:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.01.2017, 17:17

Работа с фрагментами
У меня такая ситуация, есть фрагмент с фильтрами и фрагмент с товарами. Когда я нажимаю на кнопку...

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

Операции с фрагментами
Если вызвать транзакцию remove для текущего фрагмента в контейнере. То вызовется ли у этого...


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

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

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