Kann ich in Java einen Befehl als String zusammenbauen und dann seperat ausführen?

... komplette Frage anzeigen

2 Antworten

Über eine reflektive Suche nach den IDs beispielsweise.

List<TextView> textviews;

for (int i=1; i<20; i++) {
int id = R.id.class.getField("tv" + i).getInt(0);
TextView tv = (TextView) findViewById(id);
textviews.add(tv);
}



Antwort bewerten Vielen Dank für Deine Bewertung

Ich hab nicht wirklich verstanden was du da vorhast, aber ich bin mir fast sicher dass es ohne Strings geht.

In Java packt man die Informationen generell eher in Objekte als in Strings. Und das was du da beschrieben hast sieht seeehr komisch aus.

Beschreibe doch mal anhand einer TextView was gemacht werden soll, dann kann man sicherlich einfach eine Schleife für mehrere daraus ableiten.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von ibinSchwoab
04.01.2016, 19:34

ich will nacheinander einer bestimmten Anzahl an TextViews einen Wert aus einer Datenbank zuweisen. Das klappt auch soweit. Bloß ist es halt sehr viel Schreibarbeit, wenn man das für 20 oder mehr Einträge macht.

Das könnte ich in einer Schleife einfacher abwickeln. In jedem Durchgang muss ich aber eine andere TextView ansteuern. Da diese wie gesagt nummeriert sind, müsste ich innerhalb der Schleife den Komponentennamen variabel gestalten (z.B. "tv"+i).

Damit würde in jedem Durchgang die nächste TextView bearbeitet.

Gibt es dazu einen Befehl (Das von oben war nur eine Idee, die mir gekommen ist, da ich ja gerade mit Datenbanken und den SQL Codes arbeite, die zu Strings zusammengebaut und dann abgeschickt werden)

0

Was möchtest Du wissen?