我正在使用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();
答案 0 :(得分:1)
我建议做这样的事情:
1.在写20
之前,获取值10
2.将20
与10
连接起来(见例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();
然后您可以检索这两个值并显示它们。