у меня есть MainActivity, в котором я добавил фрагмент ==> BenefitsFragment в BenefintsFragment есть RelativeLayoutУдалить фрагмент из backstack во вложенных фрагментов андроида
<RelativeLayout
android:visibility="gone"
android:background="@android:color/white"
android:id="@+id/benefitContainer"
android:layout_width="match_parent"
android:layout_height="match_parent">
</RelativeLayout>
Я добавляю еще один фрагмент, как
browseBtn.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
RelativeLayout mLayout = (RelativeLayout) view.findViewById(R.id.benefitContainer);
mLayout.setVisibility(View.VISIBLE);
getChildFragmentManager().beginTransaction()
.add(R.id.benefitContainer, new ConfirmPinFragment()).commitNow();
}
});
в моем новом ConfirmPinFragment
Я пытаюсь вернуться к старому BenefitsFragment
, как
backBtn.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
getChildFragmentManager().popBackStack();
}
});
Однако это popBackStack
не работает, если я пытаюсь удалить с помощью
getChildFragmentManager().beginTransaction().remove(ConfirmPinFragment.this).commitNow();
Это происшествиям говоря
java.lang.IllegalStateException: FragmentManager is already executing transactions
ya Я не добавлял в backstack, теперь он работает –