3

次のように、アクティビティのonCreate()呼び出しで作成されるフラグメントをプログラムで追加しました。

    mFragment = (MyFragment) pFm.findFragmentByTag(TAG);

    if (mFragment == null) {         
        mFragment = MyFragment.newInstance();
        pFm.beginTransaction().add(mFragment, MyFragment.class.getSimpleName()).commit();
    }

フラグメントの有効期間は無期限です。問題は、ある時点でそれを削除する必要がありますか?たとえば、isFinishing () がtrueを返す場合、onDestroy()で?

4

2 に答える 2

1

いいえ、する必要はありません。<fragment>プログラムでフラグメントを追加しても、そのフラグメントは、たとえばXMLでタグを使用して追加されたフラグメントとは異なります。フラグメントのライフサイクルメソッドは、アクティビティのライフサイクルメソッドが呼び出されるのとほぼ同じ方法で呼び出されます。アプリケーションが終了するときに、フラグメントを処理します。

于 2013-03-21T13:02:56.383 に答える
1

簡単な答え: いいえ、削除する必要はありません。アタッチされたフラグメントは、アクティビティから切り離されるか、アクティビティが終了すると破棄されます。詳細については、 http://developer.android.com/guide/components/fragments.htmlを参照してください。

于 2013-03-21T13:03:25.467 に答える