onPreferenceClick and OnPreferenceClickListener

前端 未结 2 640
我寻月下人不归
我寻月下人不归 2021-01-21 16:19

I\'m attempting to evaluate my preferences in my java code in order to enable/disable other options it they chose not to do other options... So far i\'m trying to only implement

2条回答
  •  野性不改
    2021-01-21 16:51

    You have to register for PreferenceClickListener each individual preference

    somePreference.setOnPreferenceClickListener(this);  
    

    or you can use getSharedPreferences().registerOnSharedPreferenceChangeListener for all preferences.

    public class UserSettingActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener{
    SharedPreferences mPreferences;
    Boolean frequency;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.settings);
    }
    
    @SuppressWarnings("deprecation")
    @Override
    protected void onPause()
    {
        super.onPause();
    
        getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
    }
    
    @SuppressWarnings("deprecation")
    @Override
    protected void onResume()
    {
        super.onResume();
    
        getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
    }
    
    
    @SuppressWarnings("deprecation")
    @Override
    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
        if (key.equals("schedulestop")) {
             // do something
         }
         else if (key.equals(......
    }
    }
    

提交回复
热议问题