现在想做一个取出的键值对中的值来做比较。就是在登录后,保存的状态,如果登录成功则将一个按钮的样式改变,如果失败则按钮 保持不变。
SP 可以直接保存boolean型变量
public static boolean putBoolean(Context context, String key, boolean value) {
SharedPreferences settings = context.getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean(key, value);
return editor.commit();
}
取值默认值建议用false
可以给按钮设置selector样式,SP取值后设置响应状态,形如以下代码。此时为按钮如果设置background为以下背景,在代码中直接设置setSelected(true/false)即可改变样式
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true">
<shape android:shape="oval">
<solid android:color="#4a9fda"/>
<size android:width="15.5dp" android:height="15.5dp"/>
<stroke android:width="1.5dp" android:color="#a2a2a2"/>
</shape>
</item>
<item>
<shape android:shape="oval">
<size android:width="14dp" android:height="14dp"/>
<solid android:color="#4a9fda"/>
</shape>
</item>
</selector>
String value=(String)map.get("key");