У меня есть 2 фрагмента, один для игры и один для оценки. Когда я перехожу от фрагмента игры к фрагменту счета, он отлично работает, но когда я пытаюсь вернуться к игре, он рисует оба фрагмента в одном контейнере (даже при использовании функции удаления).Один фрагмент рисуется поверх другого
public void nextLvl(Fragment current, Fragment next, String score, String nextTag, int LvlTime){
Bundle args = new Bundle();
args.putString("scoreKey", score);
args.putInt("levelTime", LvlTime);
next.setArguments(args);
FragmentManager fm = getFragmentManager();
if (fm != null){
FragmentTransaction ft = fm.beginTransaction();
ft.remove(current);
ft.add(R.id.fragment_place, next, nextTag);
ft.commit();
Log.d("FM","MOVED TO "+next.toString());
}else{
Log.d("FM","fm is null");
}
}
Этот код используется для перемещения между фрагментами.
Вот изображение, чтобы показать, что я имею в виду «втягивания друг на друга»:
http://i.imgur.com/Ylw8iPV.png
1 = фрагмент игры.
2 = фрагмент оценки.
3 = Результат перехода от фрагмента фрагмента к фрагменту игры.
У меня была аналогичная проблема раз. Я использовал фрагмент в качестве атрибута в моем XML-файле и попытался добавить в него фрагмент. Я перешел из фрагмента в FrameLayout в свой xml, и все сработало нормально. Итак, каков атрибут вашего «R.id.fragment_place»? – Furedal
@Furedal Это фрагмент. Я поменяю его на FrameLayout и повторю попытку, я обновляю вас, если это сработает или нет. Редактировать: Не работает, к сожалению .. – cnsdH
Вы должны загрузить весь соответствующий код, когда вы переключаете фрагменты, если мы сможем вам помочь. – Furedal