Fragmentの終了処理

いつも忘れてしまうFragmentの終了の書き方

そのFragment自身で終了したい場合

getFragmentManager().beginTransaction().remove(this).commit();

backstackありの場合

getFragmentManager().popBackStack();

呼び出し元のActivityで、Fragmentを終了させたい場合(Back Keyの時など)

Fragment hogeFragment = getFragmentManager().findFragmentByTag(HogeFragment.TAG);
if (hogeFragment != null) {
    getFragmentManager().beginTransaction().remove(hogeFragment).commit();
    
    or
 
    hogeFragment.popBackStack(); 
}

v4のsupport libraryを使っているのであれば、
getFragmentManager() -> getSupportFragmentManager()に変更
(もうこの時期に、api level16以下のサポートはないかな。。アルカナ。。)

ABOUTこの記事をかいた人

hundredappsの管理人であり、ソフトウェア開発者です。 開発したソフトウェアで、世の中の不便を1つでも改善できたらと思います。