String[] in string.xml / möglich??

S

sugg1

Neues Mitglied
0
Hallo,

ich möchte ein String[] per quellcode in die strings.xml Datei schreiben.

Gibt es dafür einen Befehl?
 
<string-array name="adsf">
<item>string1</item>
</string-array>

das kannst nehmen

zugriff mit getResources().getStringArray(id)
 
ich möchte elemente in strings.xml schreiben und nicht lesen
 
Achso das geht nicht wirklich. Wieso willst das machen?

Gesendet von meinem Nexus 5 mit der Android-Hilfe.de App
 
Ich möcht eigentlich ein String Array (MainActivity.lines) anstatt R.array.heroes an den ArrayAdapter übergeben, aber das funktioniert nicht :confused2:

Vielleicht gibt es dafür eine Lösung?

Deshalb wollte ich alle Werte an die strings.xml übergeben weil der ArrayAdapter damit funktioniert...



public void onActivityCreated(Bundle savedInstanceState)
{
super.onActivityCreated(savedInstanceState);
ArrayAdapter adapter = ArrayAdapter.createFromResource(getActivity(), R.array.heroes, android.R.layout.simple_list_item_1);
setListAdapter(adapter);
getListView().setOnItemClickListener(this);
}
 
Wenn ich mich nicht irre benutz einfach den Constructor statt der createFromResources Methode:
ArrayAdapter | Android Developers[]%29

Müsste dann sein:
ArrayAdapter adapter = new ArrayAdapter(getActivity(), android.R.layout.simple_list_item_1, deinStringArray )
 
ArrayAdapter adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, data);

So funktioniert es. danke!

Nun folgt das nächste "Java Grundlagen Problem"

in der MainActivity habe ich folgene Variable angelegt:

public static String[] lines;

dieses String Array wird dann in einer Unterklasse in der try-Anweisung gefüllt.


Wenn ich lines nun an eine zweite Klasse übergeben will ist es noch nicht gefüllt?
 
Hmm 1. bin ich fast sicher, dass "static" hier falsch ist.
2. verstehe ich nicht was du meinst und was du vor hast ;)

Wann füllst du lines und wann gibst du es an eine zweite Klasse und wie?
 
lines wird durch ein HttpGet gefüllt (in der Klasse LoadFromNetwork extends AsyncTask<String,Void,String>)

Ich möchte den String, den ich von dem HttpGet bekomme in einzelne Zeilen in einem String array abspeichern (hier: lines) und diese zeilen dann als ListFragment ausgeben.

Mein Problem: Die Übergabe des String Arrays (lines) an die Klasse, die das ListFragment erstellt.

Ist das so verständlich? :)
 
Halbwegs.
Aber eine static variable ist dafür der falsche weg.

AsyncTaslk gibt doch einen Wert zurück hier solltest du dann dein Array mit den Zeilen zurück geben.
und dann damit weiterarbeiten.
Die Frage wäre von wo du den AsyncTask aufrufst.
aber der onPostExecute Methode solltest du dann das Array haben und kannst damit weiterarbeiten.
 
super, das hilft mir erstmal weiter. danke!

Der ursprüngliche Beitrag von 12:26 Uhr wurde um 12:38 Uhr ergänzt:

ok das String Array ist nun als result in der Methode onPostExecute.

Hat jemand eine Lösung, wie man dieses String Array nun in eine andere Klasse bekommt?
 

Ähnliche Themen

D
Antworten
23
Aufrufe
2.615
Data2006
D
OnkelLon
Antworten
13
Aufrufe
2.004
OnkelLon
OnkelLon
G
Antworten
5
Aufrufe
878
jogimuc
J
Zurück
Oben Unten