ui_3k1
Gesperrt
- 197
Guten Morgen,
ich habe mal wieder etwas Neues ausprobiert und möchte einen kleinen Einblick geben, wie man recht fix massenhaft Ressourcen initialisieren kann:
Die Methode ist simple und logisch, allerdings hat es der Code etwas in sich, da wirklich jedes kleinste Zeichen bedacht werden muss.
In meinem Beispiel werden acht TextViews initialisiert.
Java-Code
Die .xml-Datei dazu:
Wichtig(!): Eclipse hat die Unart neue Elemente erstmal mit einer "1" zu versehen, wenn man sie in der grafischen Oberfläche "hineinzieht". Das verändert die ganze Sachelage, da die Arrays in [0] den ersten Wert bekommen und macht somit die Initialisierung fehlerhaft, also am besten in der xml bei NULL anfangen und man hat keinen Stress).
Ob das Verfahren nun sinnvoll ist oder nicht, sei dahin gestellt. Oft lassen sich viele Elemente mit der Wahl des entsprechenden Layouts (oder auf andere Art und Weise) vermeiden.
ich habe mal wieder etwas Neues ausprobiert und möchte einen kleinen Einblick geben, wie man recht fix massenhaft Ressourcen initialisieren kann:
Die Methode ist simple und logisch, allerdings hat es der Code etwas in sich, da wirklich jedes kleinste Zeichen bedacht werden muss.
In meinem Beispiel werden acht TextViews initialisiert.
Java-Code
Code:
TextView textView[] = new TextView[8];
for (int i = 0; i < 8; i++)
textView[i] = new TextView(this);
String ids[] = new String[8];
for (int i = 0; i < 8; i++)
ids[i] = "textView" + Integer.toString(i);
for (int i = 0; i < 8; i++) {
int resID = getResources().getIdentifier(ids[i], "id", "de.clevercomputing.shootank"); // hier euer Package-Name
textView[i] = (TextView) findViewById(resID);
}
Code:
<TextView
android:id="@+id/textView[COLOR=Red][B]0[/B][/COLOR]" // <- [B]hier aufpassen!![/B]
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
<TextView
android:id="@+id/textView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
Ob das Verfahren nun sinnvoll ist oder nicht, sei dahin gestellt. Oft lassen sich viele Elemente mit der Wahl des entsprechenden Layouts (oder auf andere Art und Weise) vermeiden.