2016-12-28 11 views
0

ActivityにはNavigationDrawerが3つあります。 初回ユーザーログイン時に3つのアイテムをすべて表示したい。 他のセッションでは、1つのアイテムを非表示にしてNavigationDrawerに2つのアイテムしか表示しません。1つのセッションが終了した後、ナビゲーションドロワーの項目を非表示にする方法

+0

SharedPreferencesを使用します。デフォルト値をvar 'firstSession = true'に設定します。 firstSessionsがtrueの場合は、メニューに3番目の項目を作成し、それ以外の場合は作成しないでください –

答えて

0

あなたが最初の起動時のナビゲーション引き出しに1つのアイテムを追加したり、最初の起動が完了した後に、ナビゲーション引き出し

から項目のあなたの1を削除し、このコード

public class MyActivity extends Activity { 

SharedPreferences prefs = null; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    // Perhaps set content view here 

    prefs = getSharedPreferences("com.mycompany.myAppName", MODE_PRIVATE); 
} 

@Override 
protected void onResume() { 
    super.onResume(); 

    if (prefs.getBoolean("firstrun", true)) { 
     // Do first run stuff here then set 'firstrun' as false 
     // using the following line to edit/commit prefs 
     prefs.edit().putBoolean("firstrun", false).commit(); 
    } 
} 
} 

を使用して、アプリケーションの最初の起動を検出する必要があります

0

USEユーザーステータスを保存するためのSharedPreferences!

public class SharedPrefModel { 
    public static String INFO_STORE_TAG = "user_info"; 

    public static String sharedPrefName = "USER"; 
    private SharedPreferences sharedPref; 

    public SharedPrefModel(Context context) { 
     this.sharedPref = context.getSharedPreferences(sharedPrefName, MODE_PRIVATE); 

    } 

    public void setStatus(Boolean isFirstTime) { 

     SharedPreferences.Editor editor = sharedPref.edit(); 
     editor.putString(INFO_STORE_TAG, isFirstTime); 
     editor.apply(); 
    } 
    public Boolean getStatus() { 
     return sharedPref.getBoolean(INFO_STORE_TAG,false); 

    } 


    public void clearInfo() { 
     SharedPreferences.Editor editor = sharedPref.edit(); 
     editor.clear(); 
     editor.apply(); 
    } 
} 

初めてログインした後は、ステータスをfalseに設定します。

new SharedPrefModel(this).setStatus(false); 

次の時間は、ステータスが真であるかどうかをチェックします。

ステータスをリセットする! use

new SharedPrefModel(this).clearInfo(); 
関連する問題