У меня 4 фрагмента в домашнем макете.Я хочу удалить конкретный фрагмент, когда пользователь нажимает соответствующую кнопку.когда я делаю это с popBackStack()
, это удаляет недавний фрагмент, добавленный пользователем.так как я могу удалить определенный фрагмент с экрана.
Я добавляю фрагмент по нажатию кнопки, у меня есть еще 3 кнопки добавления.
addFragment_1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentManager fm = getSupportFragmentManager();
fm.beginTransaction()
.add(R.id.Fragment_container_1, new Fragment_1(), "Frag 1")
.addToBackStack("Frag 1")
.commit();
}
});
Затем я хочу удалить этот фрагмент с другиминажатие кнопки.также добавьте еще 3 кнопки удаления.
removeFragment_1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getSupportFragmentManager().popBackStack();
}
});
У меня есть 4 кнопки добавления и 4 кнопки удаления.когда я добавляю все 4 фрагмента на экран и затем нажимаю 1-ую кнопку удаления, он удаляет 4-й фрагмент, затем 3> 2> 1 и все 4 кнопки удаления делают то же самое.Я хочу, чтобы 1 кнопка удаления удалила только один соответствующий фрагмент.
Я также пытаюсь popBackStack ("Frag 1", 0)
удалить все 3 фрагмента, кроме фрагмента 1, а при попытке popBackStack("Frag 1", FragmentManager.POP_BACK_STACK_INCLUSIVE)
удалить все 4 фрагмента.
Я не настолько хорош в английском, я хочу получить подробный ответ.спасибо