首次发布时显示片段

Mar*_*eal 1 android boolean sharedpreferences android-fragments

我只是在第一次启动应用程序时尝试显示片段.我正在努力展示片段,但它始终显示,我只希望它在首次发布时显示.我正在displayView导航抽屉drawerlistener中的一个方法中替换片段(这可能是我的问题),我试图在我的方法中使用布尔和共享首选项.关于为什么这不起作用的任何想法

mDrawerLayout.setDrawerListener(mDrawerToggle);

        if (savedInstanceState == null) {
            // on first time display view for first nav item
            firstTimeFrag();
        }
    }
    private boolean firstTimeFrag(){
        SharedPreferences pref = getPreferences(MODE_PRIVATE);

        boolean ranBefore = pref.getBoolean("RanBefore",false);
        if(!ranBefore){
        SharedPreferences.Editor editor = pref.edit();
        editor.commit();
        Fragment fr = new ifFirstTimeFrag();
        FragmentManager fm = getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = fm.beginTransaction();
        fragmentTransaction.replace(R.id.frame_container, fr);
        fragmentTransaction.commit();
    }else{
            displayView(0);
        }
    return ranBefore;
}
Run Code Online (Sandbox Code Playgroud)

shk*_*der 5

你没有保存任何东西^^

SharedPreferences.Editor editor = pref.edit();
editor.commit();
Run Code Online (Sandbox Code Playgroud)

用这个:

SharedPreferences.Editor editor = pref.edit();
editor.putBoolean("RanBefore", true);
editor.commit();
Run Code Online (Sandbox Code Playgroud)