2016-12-28 30 views
0

我有一個NavigationDrawer在我的Activity與三個項目。 我想在第一次用戶登錄時顯示全部三個項目。 在其他會話中,我想讓一個項目不可見,並只顯示NavigationDrawer中的兩個項目。如何隱藏一個會話結束後導航抽屜中的項目

+0

使用SharedPreferences。將默認值設置爲var'firstSession = true'。如果firstSessions爲true,則在菜單中創建第三個項目,否則請避免創建它 –

回答

0

您在使用這個代碼來檢測首家推出應用程序的

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(); 
    } 
} 
} 

在首次啓動時加入1個項目到導航抽屜或首次發射完成後,從抽屜式導航欄中刪除您的項目1

0

使用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); 

下一次檢查狀態是否爲真。

重置狀態!使用

new SharedPrefModel(this).clearInfo();