菜单上的radiobuttons上的SaveInstanceState

时间:2015-09-11 15:30:44

标签: android save radio-button

我想知道如何使用SaveInstanceState来保存menu_main中单选按钮的状态,这样即使应用程序关闭后它也会保存是否单击该按钮。

 <group
    android:checkableBehavior="single"
    android:icon="@drawable/ic_invert_colors_white_24dp"
    android:id="@+id/invert"
    android:title="Invert">

    <item
        android:id="@+id/mYellow"
        android:orderInCategory="1"
        android:title="Amber/Teal"
        app:showAsAction="never" />

    <item
        android:id="@+id/mGreen"
        android:orderInCategory="2"
        android:title="Green/Mango"
        app:showAsAction="never" />

    <item
        android:id="@+id/mRed"
        android:orderInCategory="3"
        android:title="Crimson/Indigo"
        app:showAsAction="never" />

    <item
        android:id="@+id/mBlue"
        android:orderInCategory="4"
        android:title="Blue/Magenta"
        app:showAsAction="never" />
</group>

1 个答案:

答案 0 :(得分:0)

保存状态甚至应用程序关闭

要实现此方案,您必须在SharedPreferences中保存状态。

使用以下代码:

 public static void setSharedPrefString(Context context, final String key, final String value){
        SharedPreferences radioState = PreferenceManager.getDefaultSharedPreferences(context);
        SharedPreferences.Editor editor = radioState.edit();
        editor.putString(key, value);
        editor.apply();
    }

    public static String getSharedPrefString(Context context, final String key, final String defaultValue){
        SharedPreferences radioState = PreferenceManager.getDefaultSharedPreferences(context);
        return radioState.getString(key, defaultValue);
    }

将单选按钮的状态保存为键的值。

:它可以是任何静态最终字符串,如“radioStaste”,如Json键。

感谢。