我使用SharedPreference來存儲複選框的狀態,但即使我存儲它的真實性,它仍然檢索錯誤。Android - SharedPreference.getBoolean檢索假即使我存儲爲真?
這裏是我的代碼 -
@Override
public void onPause()
{
super.onPause();
saveState();
}
@Override
public void onResume()
{
super.onResume();
loadState();
}
@Override
public void onRestart()
{
super.onRestart();
loadState();
}
public void saveState()
{
SharedPreferences sp = getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
for(int i = 0; i < itemCheck.length; i++)
{
Boolean b = itemCheck[i];
Log.e(TAG, b.toString());
editor.putBoolean(i+"", itemCheck[i]);
}
}
public void loadState()
{
SharedPreferences sp = getPreferences(Context.MODE_PRIVATE);
for(int i = 0; i < itemCheck.length; i++)
{
itemCheck[i] = sp.getBoolean(i+"", false);
Boolean b = itemCheck[i];
Log.e(TAG, b.toString());
}
for(int i = 0; i < itemCheck.length; i++)
{
lv.setItemChecked(i, itemCheck[i]);
}
}
它給了我假的,因爲我設置爲false作爲應該在沒有預先定義的關鍵返回在getBoolean的默認值。請看看並告訴我我做錯了什麼。由於
笑我做了一個愚蠢的錯誤:P謝謝你,夥計。 – Varundroid 2011-04-20 08:52:11