にremoveView()を呼び出す必要があります:フラグメントjava.lang.IllegalStateException:指定された子にはすでに親があります。あなたは通りの子供の親フラグメントを起動する最初の
public void initFrag(){
FragmentTransaction transaction = appContext.getSupportFragmentManager().beginTransaction();
transaction.addToBackStack(null);
transaction.setCustomAnimations(R.anim.fade_in, R.anim.fade_out, R.anim.fade_in,
R.anim.fade_out);
transaction.replace(R.id.root_frame, uiControlTrier, UUID.randomUUID().toString()).commitAllowingStateLoss();
}
、ここでフラグメントはCREATEVIEWにあります。
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
if (rootView == null) {
rootView = inflater.inflate(R.layout.zn_fragment_ui, null);
if (getArguments().getString(STEP_KEY) == null) {
getActivity().finish();
} else {
initView();
}
}
return rootView;
}
initFrag()
は、ユーザの選択に応じて複数回アクティビティから呼び出すことができます。バックスタック上の複数のフラグメントにつながります。
私はバックボタンを押し
、とアプリがクラッシュ:私はこれを修正の上、他のスレッドを見てきましたが、どれもまだ働いていないjava.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
at android.view.ViewGroup.addViewInner(ViewGroup.java:4424)
at android.view.ViewGroup.addView(ViewGroup.java:4265)
at android.view.ViewGroup.addView(ViewGroup.java:4205)
at android.view.ViewGroup.addView(ViewGroup.java:4178)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1425)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1750)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1819)
at android.support.v4.app.BackStackRecord.executePopOps(BackStackRecord.java:855)
at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2587)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2377)
at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2332)
at android.support.v4.app.FragmentManagerImpl.popBackStackImmediate(FragmentManager.java:851)
at android.support.v4.app.FragmentManagerImpl.popBackStackImmediate(FragmentManager.java:794)
at android.support.v4.app.FragmentActivity.onBackPressed(FragmentActivity.java:181)
at com.appzonegroup.zonesdk.zone.uiEngine.pageRenderer.UIFlowRenderingBase.onBackPressed(UIFlowRenderingBase.java:152)
at android.app.Activity.onKeyUp(Activity.java:2730)
。
こんにちは、このフラグメントを別のフラグメントまたはアクティビティにネストしていますか? – abcOfJavaAndCPP
アクティビティにネストしてください –
これはAPIの問題だと思います。 apiレベル27に更新するとすぐに気付きました.APIレベル25にロールバックするとすべて正常に動作します。 –