我想知道如何使用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>
答案 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键。
感谢。