2012-03-08 19 views
0

私は約4つのフラグメントを管理するアクティビティを持っています。アクティビティは、特定のフラグメントを追加/置換/非表示/表示するタイミングを決定します。私のアプリケーションが閉じられて(メモリが足りないため)、ユーザーが再度開くと、フラグメントは自動的にフラグメントマネージャに読み込まれません。アプリケーションが再起動されると、以前にあった同じページにユーザーが移動するように、どのフラグメントを追加すればよいでしょうか?再起動時にフラグメントが読み取られない

私はonSaveInstanceState()を使用すると仮定したが、私は保存して正確にわからないんだけど...私は

おかげ

答えて

1

ことの一つは、整数として表示される画面のトラックを保っています。アクティビティは、現在の画面をプライベートintとして保持します。

private int currentScreen = -1; 
private static final int SCREEN_MENU = 0; 
private static final int SCREEN_PROFILE = 1; 
private static final int SCREEN_HELP = 2; 

private void switchToMenu(){ 
    currentScreen = SCREEN_MENU; 
    //Load Fragment into frame. 
} 

private void switchToProfile(){ 
    currentScreen = SCREEN_PROFILE; 
    //Load Fragment into frame. 
} 

private void switchToHelp(){ 
    currentScreen = SCREEN_HELP; 
    //Load Fragment into frame. 
} 

@Override 
public void onResume(){ 
    switch(currentScreen){ 
    case SCREEN_MENU: switchToMenu(); break; 
    case SCREEN_PROFILE: switchToProfile(); break; 
    case SCREEN_HELP: switchToHelp(); break; 
    } 
} 

私だけので、私は唯一のcurrentScreen気に表示されている現在のページを追跡するように、この方法では、画面上のすべてのものは保存されません。とにかくアイデアを得るべきです。

:)

関連する問題