Mit Java neues item in ein string-array einer Strings.xml schreiben

AkechiKogoro

Mitglied
Guten Abend an alle im Java-Forum!

Ich wollte per Button-Click in einer mit Java geschriebenen Android-App realisieren dass ein neues item in das String-array meiner Strings.xml geschrieben wird.
Ich habe es mit dem ArrayAdapter folgendermaßen versucht:

private ArrayAdapter<CharSequence> adapter;
adapter = ArrayAdapter.createFromResource(this, R.array.zertifikate, android.R.layout.simple_list_item_1);


( "zertifikate" ist die Bezeichnung für das string-array in der String.xml )
Und dann im OnClickListener:

adapter.insert(String.valueOf(tfBezeichnung.getText()), 2);

Dabei kommt es dann jedoch zu einer "java.lang.UnsupportedOperationException".
Ich hoffe jemand kann mir sagen wo der Fehler liegt oder mir eine Möglichkeit nennen wie ich das Problem besser löse.

Viele Grüße!
euer AkechiKogoro
 
Vermutlich - ohne es genau zu kennen - kommt aus dem XML eine Liste die nicht modifizierbar ist. Das heißt, du kannst nicht einfach einen String da reinschreiben, da die Liste direkt das XML abbildet - und das kann so nicht modiziert werden.

Du müsstest eine neue Liste erstellen (new ArrayAdapter) und alle elemente der alten Liste + das neue ienfügen.
 
Aber wenn ich die Liste erstelle und alle Elemente + das Neue einfüge, wie kann ich es dann erreichen dass auch das neue Element in die Strings.xml ( per Button-Click ) eingefügt wird? Denn eine andere Activity verwendet diese Strings.xml auch ein Spinner.
 
Die Strings.xml ist doch eine Resource im Programm. Die wirst du generell zur Laufzeit nicht verändern können. Die wird beim Entwickeln angepasst und danach nicht mehr.

Also Speicher Daten separat - Diverse Möglichkeiten sind ja in der Dokumentation beschrieben ...

Siehe bezüglich der Ressource Datei auch
 
So etwas hatte ich mir schon gedacht. Da werde ich alternativ einen Stream in eine .txt-Datei einbauen.
Danke für eure Hilfe.
Viele Grüße!
Euer Akechikogoro
 

Zurück
Oben