1
我有這樣的代碼來設置EditTextPreference當我在一個菜單項挖掘:EditTextPreference不能設置
case R.id.prochain_vidange:
settings = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
km = settings.getString("km", "");
Log.d("TAG",km);
int x= Integer.valueOf(km);
int y= x+8000;
String z=String.valueOf(y);
SharedPreferences.Editor editor1 = settings.edit();
Log.d("proch1",z);
editor1.putString("prochain_vidange",z);
Log.d("proch2",z);
editor1.commit();
return true;
我真的不知道爲什麼,當我在菜單項上沒有任何反應挖掘,計算值(y轉換爲字符串z)不能設置爲「km」EditTextPreference。 (我之前在另一個菜單項中使用過的設置和公里值。) 這段代碼是怎麼回事? 非常感謝。 編輯:
08-11 21:32:16.006: DEBUG/TAG(2394): 4000
08-11 21:32:16.016: DEBUG/proch1(2394): 12000
08-11 21:32:16.016: DEBUG/proch2(2394): 12000
你真的應該檢查你的logcat的。問題是 - km不在SharedPrefs中,因此它返回「」,並且不能將其解析爲int。所以你的LogCat應該說'NumberFormatException' – Blundell
@Blundell:km正在返回正確的值!我注意到有時候,價值展現在「prochain_vidange」中是正確的,有時候不是。也許變量分配:\ – androniennn
添加Log.i這樣的行(「SomeTag」,「km是:」+ km);通過你的代碼,你可以檢查你正在使用LogCat – Blundell