android sharedPreferences putString

时间:2014-06-25 12:11:53

标签: android fragment sharedpreferences

我正在使用sharedPreferences.i编写的代码可以保存信息(一些字符串),也可以在另一个片段中显示此信息。现在我想收到这样的结果。例如我第一次保存10然后20.in另一个片段,我只能显示20,但我想显示总和(10 + 20)。虽然这个问题很容易,但我不知道我怎么能这样做 这是我的来源

private static String MY_PREFS = "mysessio";
private SharedPreferences sharedPreferences;
private SharedPreferences.Editor editor;


sharedPreferences = getActivity().getSharedPreferences(MY_PREFS, 0);
    editor = sharedPreferences.edit();


        _price_counter_int = Integer.parseInt(price_counter
                        .getText().toString().trim());
                _price = _price * _price_counter_int;

                editor.putString("price",
                        String.valueOf(_price));
                editor.commit();

和另一个片段代码

 String MY_PREFS = "mysessio";
         SharedPreferences sharedPreferences;
         SharedPreferences.Editor editor;
         String price_result;
    sharedPreferences = getActivity().getSharedPreferences(MY_PREFS, 0);

    editor = sharedPreferences.edit();

    price_result = sharedPreferences.getString("price", "");


    int ab1 = Integer.parseInt(price_result);



    Toast.makeText(getActivity(), String.valueOf(ab1), Toast.LENGTH_SHORT)
            .show();

2 个答案:

答案 0 :(得分:1)

我建议做这样的事情:
1.在写20之前,获取值10
2.将2010连接起来(见例10:20) 3.在得到总和时,得到整个字符串(10:20)
4.使用拆分器字符:分割字符串 5.得到总和

这样您就可以访问SharedPreferences的所有连续添加内容。

如果您唯一关心的是存储金额,您可以直接获取值10,为其添加20并将总和提交到SharedPreferences

答案 1 :(得分:0)

sharedPreferences = getActivity().getSharedPreferences(MY_PREFS, 0);
editor = sharedPreferences.edit();

_price_counter_int = Integer.parseInt(price_counter.getText().toString().trim());
_price1 = _price * _price_counter_int;

editor.putString("price",String.valueOf(_price));
editor.putString("price1",String.valueOf(_price1));
editor.commit();

然后您可以检索这两个值并显示它们。