#android #fragment #sharedpreferences
#Android #фрагмент #sharedpreferences
Вопрос:
я работаю с SharedPreferences.я написал код, который может сохранять информацию (некоторые строки), а также может отображать эту информацию в другом фрагменте. теперь я хочу получить такой результат. например, в первый раз я сохранил 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_resu<
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();
Комментарии:
1. Тогда в чем проблема в коде?
Ответ №1:
Я бы предложил сделать что-то вроде этого:
1. Перед записью 20
получите значение 10
2. Объедините 20
10
с каким-либо символом (пример 10:20)
3. Во время получения суммы получите всю строку (10:20)
4. Разделите строку с помощью символа-разделителя :
5. Получаем сумму
Это позволит вам иметь доступ ко всем последовательным дополнениям к SharedPreferences
.
В случае, если ваша единственная задача — сохранить сумму, вы можете напрямую получить значение 10
, добавить 20
к нему и зафиксировать сумму SharedPreferences
.
Ответ №2:
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();
Затем вы можете получить оба значения и отобразить их.