7

add() メソッドを使用して新しいフラグメントを追加すると、「予期しない動作」が発生します。

FrameLayout に新しいフラグメントを追加したいのですが、そうすると前のフラグメントが表示されたままになります。

  • add() メソッドを使用した場合、これは期待される結果ですか?

  • FrameLayout を使用していて、add() メソッドを使用しているため、前のものに影響を与えずに FrameLayout の上にフラグメントを配置するだけですか?

どうも

4

2 に答える 2

8

バグではありません。置き換えてみてください(..)。代わりに、必要に応じてバック スタックに追加します。

編集replaceまたはを使用remove() add()すると問題が解決すると思いますが、関連する投稿で強調しているように、特定の状況下で現れるバグがあります。

于 2011-06-04T17:02:02.213 に答える
6

あなたができる他の簡単なことは、呼び出すことです

FragmentTransaction t = getFragmentManager.beginTransaction();
t.hide(<your_fragment>);
t.add(<container, <new_fragment>);
..do the rest here..
t.commit();

これが役立つかどうか教えてください。

于 2011-09-02T16:56:00.697 に答える