1

私はフラグメントを使用しています。左のフラグメントで何かを選択すると、メインのアクティビティによって右のフラグメントが作成されます。

だから私は Fragment を FrameLayout に追加するためにこれを行いました:

//add a fragment
FluxDetailFragment myFragment = new FluxDetailFragment();
fragmentTransaction.add(R.id.frameLayout3, myFragment);
fragmentTransaction.commit();

しかし、私はこのエラーが発生します:

02-02 15:34:03.104: E/AndroidRuntime(14794): java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.

前に FrameLayout ビューを削除する必要がありますか? それとも別の見方?その方法は?

4

1 に答える 1

1

私の問題を解決するために、私はこれを持っていました:

View result = inflater.inflate(R.layout.view2);

その代わりに、私はこれをしました:

View result = inflater.inflate(R.layout.view2, null);

attachToRoot を機能させるには null に設定する必要があります。

于 2012-02-06T17:46:02.083 に答える