В одном фрагменте есть кнопки, по нажатию которых открывается другой
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
fragmentTransaction.replace(R.id.container, textFragment).commit();
}
});
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
fragmentTransaction.replace(R.id.container, textFragment).commit();
}
});
В другом фрагменте
TextView text = (TextView) view.findViewById(R.id.text);
и в этот TextView нужно добавить текст из ресурса в зависимости от того, что было нажато. Если btn1, то R.string.b1, если btn2, то R.string.b2. Как это лучше сделать? Кнопок много и не хочется создавать для каждой фрагмент - это глупо.
Вашу задачу можно решить несколькими способами. Вот один из них
Создаем utils класс.
public class FragmentUtils {
public static void replaceFragment(FragmentActivity activity, Fragment fragment) {
FragmentTransaction fragmentTransaction;
fragmentTransaction = activity.getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.content_main, fragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
}
}
И через Bundle будем передовать ID нашей строки или сразу String(решать вам), которую нужно отобразить.
Это может выглядеть вот так:
Bundle bundle = new Bundle();
bundle.putInt("ID", R.string.app_name);
TextFragment textFragment = new TextFragment();
adapterCvodkaFragment.setArguments(bundle);
FragmentUtils.replaceFragment(this, textFragment);
В методе onCreateView() вашего фрагменты получаете ID вашей строки.
Bundle bundle = getArguments();
if (bundle != null) {
id = bundle.getInt("ID);
}
И передаете уже вашему TextView
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости