2015-09-21 5 views
2

У меня есть два фрагмента A и B. Я перехожу из фрагмента A в фрагмент B, используя следующий метод.Передача данных в предыдущий фрагмент

getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.content_frame, new B()).addToBackStack(TAG).commit(); 

Теперь я хочу отправить данные из фрагмента B в фрагмент A i.e Предыдущий фрагмент. Не могли бы вы дать мне представление о том, как отправлять данные в предыдущий фрагмент.

Благодаря

+0

объявить статическую переменную в фрагмента A и присвоить ему значение в B, так что вы можете использовать его, когда вы вернетесь к A –

+0

http://stackoverflow.com/a/12105615/5069663 Может быть, этот ответ Полезно. Просто перейдите по ссылке. – Asmi

+2

Возможный дубликат [Как передать результат от второго фрагмента к первому фрагменту] (http://stackoverflow.com/questions/12103953/how-to-pass-result-from-second-fragment-to-first-fragment) –

ответ

0

Проверьте documentation о фрагментах и ​​его связи.

Вы хотите передать информацию из одного фрагмента другому? Один фрагмент не должен знать о других фрагментах. Сделайте фрагмент B связанным с его деятельностью через интерфейс и сделайте операцию передачей данных фрагменту A

0

Вы создаете подкласс Fragment, называемый MyFragment, который является его экземпляром. Затем создайте статический метод фабрики взять MyFragment, как пары, как:

public static MyFragment newInstance(MyFragment a){ 
    MyFragment b = new MyFragment(); 
    MyFragment b.a = a; 
    return b; 
} 

b.a является полем MyFragment. Затем вы можете использовать ссылку a для отправки данных.

+0

Это либо троллинг, либо действительно плохой совет. – 2Dee

+0

@ 2Dee вы можете объяснить почему? –

0

Вы можете связываться между фрагментами через Activity, где вы заменяете фрагменты.

  1. Передача данных в действие, а затем вызов метода этого фрагмента, в котором вы хотите обновить данные. 2. Другим способом вы можете взять переменную в Activity и сохранить данные этой переменной, а затем загрузить другой фрагмент (фрагмент A) (возобновить), затем отобразить данные из переменной Activity, получив

    ((HomeActivity) getActivity) .variableName;

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