У меня проблема, когда я сохраняю свой arraylist в общих настройках с помощью json, и я пытаюсь загрузить его обратно в свой список, listview не изменяется. Я читал много статей, но они показывают это одинаково каждый раз. У вас есть идея, где может быть проблема?Gson чтение данных из общих настроек
save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(thisView.getContext());
SharedPreferences.Editor editor = sharedPrefs.edit();
Gson gson = new Gson();
String json = gson.toJson(mainActivity.getResultsArray());
editor.putString("ResultsArray", json);
editor.commit();
Toast saved = Toast.makeText(getContext(), "Uloženo", Toast.LENGTH_LONG);
saved.show();
}
});
load.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(thisView.getContext());
Gson gson = new Gson();
String json = sharedPrefs.getString("ResultsArray", "");
Type type = new TypeToken<ArrayList<Result>>(){}.getType();
ArrayList<Result> results = gson.fromJson(json, type);
mainActivity.setResultsArray(results);
mainActivity.getAdapter().notifyDataSetChanged();
Toast loaded = Toast.makeText(getContext(), "Načteno", Toast.LENGTH_LONG);
loaded.show();
}
});
Почему бы это изменить? Я имею в виду, что вы каждый раз сохраняете и загружаете ту же дату. –
I массив не изменен, список, очевидно, будет содержать те же данные – Manza
Ну, извините за непонятность, я пытаюсь загрузить данные, когда пользователь открывает приложение в следующий раз. – sudoman281