Ich habe ein Problem, dass, wenn ich meine Arraylist in gemeinsame Einstellungen mit Json speichern und ich versuche, es wieder in meine Listview zu laden, ändert sich die Listview nicht. Ich habe viele Artikel gelesen, aber sie zeigen es jedes Mal auf die gleiche Weise. Hast du eine Idee, wo das Problem sein könnte?Gson lesen Daten von gemeinsamen Vorlieben
0
A
Antwort
0
Ich reparierte es, indem ich Ergebnisse vorwarf und sie durch .add addierte.
ArrayList<Result> results = gson.fromJson(json, type);
for (Result result: results) {
mainActivity.getResultsArray().add(result);
}
mainActivity.getAdapter().notifyDataSetChanged();
2
Fügen Sie diese Methode in Ihrer globalen Klasse hinzu, damit Sie diese überall verwenden können.
public static void save_ListToSharedPreferneces(Context context, ArrayList<YourModelClass> recentDataList) {
SharedPreferences sharedpreferences =
context.getSharedPreferences("recent_data", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedpreferences.edit();
Gson gson = new Gson();
String json = gson.toJson(recentDataList);
editor.putString("recentDataList", json);
editor.commit();
}
public static ArrayList<YourModelClass> get_ListFromSharedPreferneces(Context context) {
SharedPreferences sharedPrefs = context.getSharedPreferences("recent_data", Context.MODE_PRIVATE);
Gson gson = new Gson();
String json = sharedPrefs.getString("recentDataList", "");
Type type = new TypeToken<ArrayList<YourModelClass>>() {
}.getType();
ArrayList<YourModelClass> recentDataList= gson.fromJson(json, type);
return recentDataList;
}
auf dem Button-Klick speichern rufen Sie einfach Methode wie folgt speichern:
Global.save_ListToSharedPreferneces(context, yourArrayList);
auf dem Lastknopf klicken rufen Sie einfach Methode wie folgt erhalten:
ArrayList<YourModelClass> yourArrayList=new ArrayList();
yourArrayList = Global.save_ListToSharedPreferneces(context);
//Now set your adapter again:
YourAdapter yourAdapter = new YourAdapter (yourArrayList , getContext());
listview.setAdapter(yourAdapter);
Verwandte Themen
- 1. Daten können nicht aus dem gemeinsamen Präferenzen von einer anderen Aktivität Gson in gemeinsamen Vorlieben
- 2. Android add String gemeinsamen Vorlieben
- 3. lesen und schreiben Daten mit Gson
- 4. Lesen aller Daten der gemeinsamen SAPUI5-Tabelle
- 5. Android Wear - Zugang mobile gemeinsame Vorlieben
- 6. Android Vorlieben Ausgabe
- 7. Parsing Json Daten mit Gson
- 8. Neue Datensätze mit gemeinsamen Daten
- 9. Lesen von unformatierten Daten
- 10. Gemeinsame Vorlieben mit anderen Kontext
- 11. PHP & HTML Templating Stil Vorlieben
- 12. besserer Weg Zustand Vorlieben SQL
- 13. Wie man Daten von JSON unter Verwendung von Gson anzeigt
- 14. Vorlieben Objekte mit externen Informationen speichern
- 15. Abrufen von Daten von einem gemeinsamen Dienst angular2
- 16. Sortieren von CSV-Daten nach Vorkommen von gemeinsamen Wörtern
- 17. Parse Daten ohne Inhalt mit Gson
- 18. Geschachtelte JSON-Daten mit GSON analysieren
- 19. Manchmal kann das Datum von Json mit Gson
- 20. Exchange-Daten von C# Webapi nach Java mit Gson
- 21. Lesen von Daten aus Dateinamen
- 22. Lesen von Daten im Tensorflow
- 23. Daten von JSON-Antwort lesen
- 24. Daten von anderen Aktivitäten lesen
- 25. Lesen Sie Daten von rfcomm0
- 26. Untermenge von großen Daten lesen
- 27. Lesen von Daten aus Texttabelle
- 28. Lesen von Daten aus Excel
- 29. Zwei Abfragen gleichzeitig mit gemeinsamen Daten
- 30. GSON für Web Service
Warum würde es ändern? Ich meine, Sie speichern und laden jedes Mal das gleiche Datum. –
I das Array ist nicht modifiziert, die Liste wird offensichtlich die gleichen Daten enthalten – Manza
Nun tut mir leid für die Unklarheit, ich versuche Daten zu laden, wenn Benutzer die Anwendung das nächste Mal öffnet. – sudoman281