Отправить данные в другой фрагмент, не открывая его - PullRequest
0 голосов
/ 18 апреля 2020

Я хочу отправить путь к файлу от одного фрагмента к другому, но я не хочу открывать второй фрагмент, я просто хочу, чтобы второй фрагмент позже использовал путь к файлу, чтобы найти файл. Тем не менее, я использую код, как показано ниже, путь к файлу не может быть передан во второй фрагмент. Нет ошибки, но путь к файлу печатается как «ноль». Кто-нибудь может помочь решить мою проблему?

Первый фрагмент:

  Bundle bundle = new Bundle();
  bundle.putString("Path model sensor", pathsensor);
  bundle.putString("Path model label", pathLabels);
  AddFileToClassify addFileToClassify = new AddFileToClassify();
  addFileToClassify.setArguments((bundle));
  getFragmentManager().beginTransaction().add(R.id.relativeLayoutMain, addFileToClassify, TAG).commit();

Второй фрагмент:

Fragment mFragment = getFragmentManager().findFragmentByTag("Addfilefragment");
Bundle bundle = mFragment.getArguments();
if(bundle != null) {
      pathModelLabel = bundle.getString("Path model label");
      pathModelSensor = bundle.getString("Path model sensor");}

Ответы [ 2 ]

2 голосов
/ 18 апреля 2020

Если оба фрагмента имеют одно и то же действие, вы можете сохранить переменную экземпляра в самом действии и использовать эту переменную в своем фрагменте, используя ParentActivity.

0 голосов
/ 18 апреля 2020

По вашему вопросу Отправка данных в другой фрагмент без его открытия , я бы хотел сказать, что можно отправлять данные из фрагмента в другой фрагмент, не открывая его. Предположим, у вас есть два активных фрагмента, и вы хотите, чтобы оба общались друг с другом. Вы можете использовать LocalBroadcastManager или EventBus .

Эти ресурсы могут вам очень помочь:

Как использовать LocalBroadcastManager?

EventBus в 3 шага

...