Из одного фрагмента передаю данные в другой фрагмент. Код откуда:
Text text;
myFragmentManager = getFragmentManager();
text = new Text();
final FragmentTransaction fragmentTransaction = myFragmentManager
.beginTransaction();
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Bundle bundle = new Bundle();
bundle.putInt("javaText", R.string.btn1javaA1);
text.setArguments(bundle);
fragmentTransaction.replace(R.id.container, text).commit();
}
});
Код куда:
TextView text = (TextView) view.findViewById(R.id.text);
Bundle bundle = getArguments();
if (bundle != null) {
String javaText = bundle.getString("javaText");
text.setMovementMethod(LinkMovementMethod.getInstance());
text.setText(Html.fromHtml(javaText));
}
Но приложение вылетает. Мне нужно передать текст с одного фрагмента в другой в зависимости от того куда нажал пользователь.
Во-первых никогда не называйте фрагмент text
, если уж такой нейминг - то textFragment
и тип TextFragment
Во-вторых - не держите транзакцию в виде поля. Вот вы хотите сделать транзакцию внутри метода onClick
там её и создавайте.
В-третьих - прикрепите стектрейс ошибки
По ошибке - вы в бандл суёте Integer
и хотите достать String
конечно у вас падает приложение.
Закидывайте в bundle
строку getString(R.string.btn1javaA1)
А вообще - вы эту строку держите в ресурсах. Зачем её кидать в бандл, eсли второй фрагмент её может спокойно достать из ресурсов
В одном фрагменте есть кнопки, по нажатию которых открывается другой
Мне надо по нажатию на кнопку в быстрых настройках (Tileservice) открыть AlertDialog, но его не открыть без активити, мне не надо, чтобы открывалось активити,...
С одним все работает, если сложить, то не хочет