0
私はarsonistをjsonを使用して共有環境設定に保存し、リストビューに戻そうとしているときにリストビューが変更されないという問題があります。私は多くの記事を読んだことがありますが、毎回同じように表示します。どこに問題があるのか考えていますか?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();
}
});
なぜそれが変更になります。あなたのロード]ボタンをクリックしたときに、
をちょうどこのようなメソッドを取得する呼び出します?あなたのボタンのクリックを保存するだけで、このようなメソッドを保存呼び出しに
毎回同じ日付を保存して読み込むことを意味します。 –
私は配列が変更されていない、明らかに同じデータがリストに含まれています – Manza
よく分かりませんが、次回にユーザーがアプリケーションを開くときにデータを読み込もうとしています。 – sudoman281