【问题标题】:save and call Stringbuilder from Sharedpreference [duplicate]保存并从 Sharedpreference 调用 Stringbuilder [重复]
【发布时间】:2016-11-06 21:25:32
【问题描述】:

Stringbuilder 的帮助下,我正在使用下面的代码进行一些迭代测试,并希望将结果直接保存到Sharedpreference

save2.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick (View v){
        int i;
        int n = 10;

        StringBuilder outoutcome = new StringBuilder();
        for (i = 0; i <= n; i++) {
            outoutcome.append(i + "\n");
        }

        SharedPreferences sharedPreferences = getSharedPreferences("data1", Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.putString("outcome1", outoutcome.toString());
    }
}

*我也试过editor.putString("outcome1", String.valueOf(outoutcome));,但很遗憾不能。

为了在另一个活动中检索数据,我尝试使用下面的编码:

public static final String DEFAULT = "";
final SharedPreferences sharedPreferences = getSharedPreferences("data1", Context.MODE_PRIVATE);
final String out1 =sharedPreferences.getString("outcome1", DEFAULT);
resultout.setText("Saved data is " + out1 );

但上面的编码不起作用。然后,我搜索并找到 this ,尝试了如下代码但仍然无法正常工作。

 final String[] getout1= out1.split(",");
 resultout.setText("Saved data is " + getout1 );

有人可以帮忙吗?提前谢谢你!

【问题讨论】:

  • 放值后叫editor.commit吗?
  • 谢谢!!!!!!我真的忘记打电话给那个了。并且在调用之后所有的东西都重新工作了...... arrrhh....

标签: android sharedpreferences stringbuilder


【解决方案1】:

您必须使用apply()commit() 来保存更改。

editor.apply();

editor.commit();

【讨论】:

  • 是的,刚刚发现忘记了 editor.commit() 。认为其他事情会导致这个问题,并失去了对此的关注。谢谢。
猜你喜欢
  • 2017-07-02
  • 2021-07-16
  • 1970-01-01
  • 1970-01-01
  • 2011-04-04
  • 1970-01-01
  • 2015-12-28
  • 2022-01-12
  • 2013-01-22
相关资源
最近更新 更多