【问题标题】:Show Fragment on First Launch在首次启动时显示片段
【发布时间】:2015-09-20 05:41:36
【问题描述】:

我试图仅在应用程序第一次启动时显示片段。我正在尝试显示片段,但它总是显示,我只希望它在首次启动时显示。 我在导航抽屉抽屉监听器(这可能是我的问题)中替换了一个名为displayView 的方法的片段,我试图在我的方法中使用布尔值和共享首选项。关于为什么这不起作用的任何想法

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

【问题讨论】:

    标签: android android-fragments boolean sharedpreferences


    【解决方案1】:

    你没有保存任何东西^^

    SharedPreferences.Editor editor = pref.edit();
    editor.commit();
    

    使用这个:

    SharedPreferences.Editor editor = pref.edit();
    editor.putBoolean("RanBefore", true);
    editor.commit();
    

    【讨论】:

    • 哦,嗯,这很尴尬,哈哈,现在可以了 ;-) 非常感谢你
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-09
    相关资源
    最近更新 更多