В одном фрагменте есть кнопки, по нажатию которых открывается другой
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
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Мне надо по нажатию на кнопку в быстрых настройках (Tileservice) открыть AlertDialog, но его не открыть без активити, мне не надо, чтобы открывалось активити,...
С одним все работает, если сложить, то не хочет
В TextView у меня выводится несколько строковых ресурсов:
Представленный ниже игровой цикл находится в классе расширяющем Thread и хоть я добавляю отрисовку хоть убираю, fps практически не изменятсяЭто...