-1

Я прочитал много ссылок, но все передают данные из одного фрагмента в другое действие или из одного действия в фрагмент другого действия, но я хочу отправить из фрагмента одной активности с другим фрагментом другой деятельностикак отправить некоторые данные из фрагмента одного действия в другой фрагмент другой активности

+1

Хорошо ... Если вы может пройти от Fra для действия и действия для фрагмента, то вы можете перейти от фрагмента к другому фрагменту через Activity, правильно? –

+0

Да, я могу сделать это, но это единственный способ. Я имею в виду, что нет другого прямого пути. [email protected]_007 – Ayaz

+0

Вы можете попробовать изучить библиотеку EventBus. Лично я этого не пробовал, но многие рекомендуют его –

ответ

0

Если я что-то не упустил, вы можете вызвать getActivity().startActivity() из первого фрагмента, с некоторыми дополнениями, установленными на этом намерении, а затем из этого второго действия передать некоторые аргументы во Фрагмент создает.

Так, из Fragmenta

Intent i = new Intent(getActivity(), ActivityB.class); 
i.setExtra("key", "hello world"); // for example 
getActivity().startActivity(i); 

Затем, ActivityB

onCreate() { 
    Intent i = getIntent(); 
    FragmentB frag = new FragmentB(); 
    if (i!=null) frag.setArguments(i); // pass along intent 
    // TODO load Fragment 

И использовать в FragmentB

+0

yes Было бы полезно, если бы вы могли делиться – Ayaz

+0

Хорошо, я нахожусь на мобильном телефоне, t проверить это, но это должно быть похоже на код, который вы видели в приведенных вами примерах. –

0

Если вы должны пройти ДАННЫЕ по всему приложению или, возможно, между Дальней деятельностью/фрагмент, как в вашем примере, рассмотрим использование некоторых статических классов (даже если в java нет статических классов, это скорее статическая оболочка поля).

public class MyRunTimeDatas{ 
    private static String myStringData; 
    private static int myIntData; 

    //getters and setters 
} 

Теперь в fragment 1 использования

MyRunTimeDatas.setMyStringData("my value"); 
MyRunTimeDatas.setMyIntData(69); 

Наконец в fragment 2 теперь вы можете позвонить

String myBeautifulString = MyRunTimeDatas.getMyStringData(); 
int myFantasticInt = MyRunTimeDatas.getMyIntData(); 

и вы сделали

+0

Насколько я знаю, метод, которым вы делитесь, заключается в передаче данных из одного фрагмента в другой фрагмент в одном и том же действии ... но в моем случае это фрагмент различной активности @ Pier Giorgio Misley – Ayaz

+0

@Ayaz - это объект доступа к данным. Поскольку переменные являются статическими, они размещаются в памяти приложения и могут быть доступны в любом классе. –

+0

@Ayaz это как cricket_007 сказал: это отдельный класс (отдельный .java-файл), так что это означает, что вы можете получить к нему доступ из любого класса вашего приложения –

 Смежные вопросы

  • Нет связанных вопросов^_^