PreferenceActivity: save value as integer

前端 未结 5 709
一向
一向 2020-12-12 17:00

Using a simple EditTextPreference in my preferences activity:



        
5条回答
  •  星月不相逢
    2020-12-12 17:38

    Even if you set android:numeric="integer" it'll be text preference - as its name suggest. You could easily convert string value to int using Integer.valueOf(). Also you could overwrite PreferenceActivity to do conversion automatically on exit.


    I think the best solution is to write simple method to get this value from preferences. Something like:

    public static int getSomePref(Context context) {
        SharedPreferences prefs =
            PreferenceManager.getDefaultSharedPreferences(context);
        String value = prefs.getString("SomeKey", null);
        return value == null ? -1 : Integer.valueOf(value);
    }
    

    Then you could very easily use it from your code.

提交回复
热议问题