用我的喜好的活動簡單EditTextPreference
:PreferenceActivity:保存值作爲整數
<EditTextPreference
android:key="SomeKey"
android:title="@string/some_title"
android:summary="..."
android:numeric="integer"
android:maxLength="2"
/>
有沒有一種辦法,這配置值將被保存爲整數?似乎現在它只是允許輸入數字,但該值仍然保存爲字符串:
呼叫:
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
int value = preferences.getInt("SomeKey", -1);
拋出我java.lang.ClassCastException: java.lang.String
和:
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
String value = preferences.getString("SomeKey", "-1");
成功地檢索值。
如何使PreferenceActivity
默認保存爲整數值?
@Brutall,我想通過改進代碼向您表示感謝。但有人對我說新代碼太長了,他拒絕了。噢,但是如果舊的代碼不好,人們會做什麼,需要更換,但是他們不這樣做,因爲新的代碼很長?即使它更好。哦,我的,這太棒了!這是程序員的地方嗎?我有一些開源項目,我打開了對我的代碼的任何更改。他多麼羞愧!無論如何,非常感謝Brutall。 – 2012-02-15 06:01:28
順便說一句,我所做的是:將輸入類型設置爲數字;添加一個'TextWatcher',確保文本用戶輸入的內容不爲空,默認值爲'0'。 – 2012-02-15 06:04:50
即時得到一個運行時錯誤返回String.valueOf(getPersistedInt(-1));',由於該行 – ibaguio 2013-01-09 18:02:14