Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Java. Связь Activity с Fragment, передача переменной из Activity в Fragment.

Роман М Знаток (375), на голосовании 8 лет назад
Здравствуйте, очень нужна помощь по передаче переменной в класс fragment из MainActivity. Дело обстоит так, что у меня есть еще одно activity (SecondActivity), в нем я принимаю значение из графы ввода и передаю это значение в MainActivity через Intent, MainActivity связан c Fragment по имени BluetoothChatFragment, и в нем есть переменная которой мне нужно присвоить значение переданное в MainActivity через Intent. Как это сделать?? Сижу 2 день не отрываясь от компа, не могу найти информацию.
Голосование за лучший ответ
Скуби Ду Мастер (1202) 8 лет назад
Через бандл, передаваемый в аргументах фрагмента.
Обычно во фрагменте для этого заводится фабричный метод.

public static BluetoothChatFragment create(String value) {
Bundle args = new Bundle();
args.putString("name", value);

BluetoothChatFragment fragment = new BluetoothChatFragment();
fragment.setArguments(args);

return fragment;
}

И в транзакцию просто передаем созданный фрагмент:

getSupportFragmentManager()
.beginTransaction()
.replace(R.id.sample_content_fragment, BluetoothChatFragment.create(getIntent.getStringExtra("name")))
.commit();

При создании фрагмента достаем бандл через getArguments().
Похожие вопросы