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



## AkechiKogoro (27. Mai 2020)

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


----------



## LimDul (27. Mai 2020)

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.


----------



## AkechiKogoro (27. Mai 2020)

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.


----------



## kneitzel (27. Mai 2020)

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








						Is it possible to update string.xml file at run time in android?
					

I wanted to apply localization in my app dynamically so is it possible to define strings in java file and fetch that strings to our layout xml file i.e as we do @string/anystringname replacing this...




					stackoverflow.com


----------



## AkechiKogoro (27. Mai 2020)

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


----------

