У меня проблема с заменой фрагментов в android.Выбранный фрагмент макета не показан
Оба моих макета фрагмента размещены в FrameLayout.
И я попытался заменить два фрагмента, используя этот код:
Fragment newFragment = new StatisticsFragment();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(((ViewGroup)(getView().getParent())).getId(), newFragment);
transaction.addToBackStack(null);
// Commit the transaction
transaction.commit();
Проблема заключается в том, что после замены фрагмента, его расположение не отображается, хотя его OncreateView
называется.
Пожалуйста, помогите мне.
РЕДАКТОР: Я положил код отверстия.
Я решил проблему, добавив цвет фона в мои макеты.
что R.id.mainContainer? @kurlicue – user63835
Это замена FrameLayout, это равнозначно вашему '((ViewGroup) (getView(). getParent())). getId()'. Но это не сработало? –
Именование ваших переменных, таких как 'Fragment_Main', не является такой хорошей практикой. Прочитайте это: https://source.android.com/source/code-style.html –