【问题标题】:Android - SharedPreference.getBoolean retrieving false even if i am storing true?Android - SharedPreferences.getBoolean 检索 false 即使我存储的是 true?
【发布时间】:2011-04-20 16:42:45
【问题描述】:

我使用 SharedPreference 来存储复选框的状态,但即使我在其中存储 true,它仍然检索 false。

这是我的代码 -

@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 中将 false 设置为默认值,在没有预定义键的情况下应该返回该值。请看看并告诉我我做错了什么。谢谢

【问题讨论】:

    标签: android checkbox state sharedpreferences


    【解决方案1】:

    我认为你永远不会在你的editor 上打电话给commit() :) 试试这个:

    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]);
        }
        editor.commit();
    }
    

    【讨论】:

      【解决方案2】:

      editor.putBoolean(i+"", itemCheck[i]);之后使用editor.commit()

      【讨论】:

        猜你喜欢
        • 2014-07-19
        • 1970-01-01
        • 2015-05-20
        • 2017-04-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-06-28
        • 1970-01-01
        相关资源
        最近更新 更多