java怎么取键值对中的值来做比较

现在想做一个取出的键值对中的值来做比较。就是在登录后,保存的状态,如果登录成功则将一个按钮的样式改变,如果失败则按钮 保持不变。

  1. 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();
    }
    
  2. 取值默认值建议用false

  3. 可以给按钮设置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");