如何隐藏一个会话结束后导航抽屉中的项目

问题描述:

我有一个NavigationDrawer在我的Activity与三个项目。 我想在第一次用户登录时显示全部三个项目。 在其他会话中,我想让一个项目不可见,并只显示NavigationDrawer中的两个项目。如何隐藏一个会话结束后导航抽屉中的项目

+0

使用SharedPreferences。将默认值设置为var'firstSession = true'。如果firstSessions为true,则在菜单中创建第三个项目,否则请避免创建它 –

您在使用这个代码来检测首家推出应用程序的

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

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