How to get switch value in Android?

后端 未结 3 1621
傲寒
傲寒 2021-02-07 09:24

I have placed a switch widget in Main Activity, I also have a second activity that extends BroadcastReceiver. I want to get the boolean state of switch widget in second activity

3条回答
  •  不要未来只要你来
    2021-02-07 09:39

    You can save the value in Preferences. Below class will be make easy for you to save data and retrive it from Preferences

    public class SessionManager {
    
        private SharedPreferences pref;
        private static SessionManager sessionManager;
    
    
    
    
        public static SessionManager getInstance(Context context) {
            if(sessionManager == null){
                sessionManager = new SessionManager(context);
            }
            return sessionManager;
        }
    
    
        public SessionManager(Context context) {
            String PREF_NAME = context.getResources().getString(R.string.app_name);
            this.pref = context.getSharedPreferences(PREF_NAME,Context.MODE_PRIVATE);
    
        }
    
    
        /**
         * Getting value for key from shared Preferences
         *
         * @param key          key for which we need to get Value
         * @param defaultValue default value to be returned if key is not exits
         * @return It will return value of key if exist and defaultValue otherwise
         */
        public String getValueFromKey(String key, String defaultValue) {
            if (pref.containsKey(key)) {
                return pref.getString(key, defaultValue);
            } else {
                return defaultValue;
            }
        }
    
    
        /**
         * Setting value for key from shared Preferences
         *
         * @param key   key for which we need to get Value
         * @param value value for the key
         */
        public void setValueFromKey(String key, String value) {
            pref.putString(key, value).apply();
        }
    
    
        /**
         * Setting value for key from shared Preferences
         *
         * @param key   key for which we need to get Value
         * @param value value for the key
         */
        public void setFlagFromKey(String key, boolean value) {
            pref.putBoolean(key, value).apply();
        }
    
    
        /**
         * To get Flag from sharedPreferences
         *
         * @param key key of flag to get
         * @return flag value for key if exist. false if not key not exist.
         */
        public boolean getFlagFromKey(String key) {
            return pref.containsKey(key) && pref.getBoolean(key, false);
        }
    
    }
    

提交回复
热议问题