Name der String-Ressourcen eines Projekts (in Schleife) ermitteln

J

Jusehr

Neues Mitglied
0
Ich suche nach einer Möglichkeit, die Namen aller string-Ressourcen des aktuellen Projekts im Code zu ermitteln. Es geht also um den Ressourcen-Namen, den man in einem anderen Zusammenhang über R.id.[RessourcenName] angeben würde.

Sinnvollerweise dürfte man das mit einer Schleife bewerkstelligen. Vielleicht gibt es ja auch so etwas wie eine for-each-Schleife in dem Sinne: gib mir für jede StringRessource in der strings.xml den Namen?

Hintergrund:
Ich möchte aus einer Vielzahl der String-Ressourcen ganz gezielt und dynamisch auf bestimmte zugreifen. Dynamisch, weil sich die gesuchten String-Ressourcen ständig ändern. Dazu muss ich aber alle entsprechenden Ressourcen-Namen durchsuchen.
 
Vllt über Java Reflections?


Java:
for (Field field : R.string.class.getDeclaredFields())
{
  if (Modifier.isStatic(field.getModifiers()) && !Modifier.isPrivate(field.getModifiers()) && field.getType().equals(int.class))
  {
    try
    {
      if (field.getName().startsWith("tts_"))
      {
        int id = field.getInt(null);
        // do something here...
      }
    } catch (IllegalArgumentException e)
    {
      // ignore
    } catch (IllegalAccessException e)
    {
      // ignore
    }
  }
}

ganz frech von SO kopiert...
 
  • Danke
Reaktionen: Jusehr
Bin nur neugierig, was was brauchst du solch eine Konstruktion? Eine andere Möglichkeit wäre der Einsatz eines StringArray in den Resources.

String Resources | Android Developers

Dann muss du nur über ein Array iterieren.
 
  • Danke
Reaktionen: Jusehr
markus.tullius schrieb:
Bin nur neugierig, was was brauchst du solch eine Konstruktion? Eine andere Möglichkeit wäre der Einsatz eines StringArray in den Resources.

String Resources | Android Developers

Dann muss du nur über ein Array iterieren.

Da habe ich auch schon gelesen. Für mich wird wohl nur der Typ des einfachen Strings (ohne weitere unterteile items) in Frage kommen (siehe String-Typ darüber in Deinem Link). Aber die eigentliche Frage lautet eigentlich: wie iteriere ich denn? Wie sieht denn so eine Schleife konkret im Code aus? Wie erfasse ich die Gesamtheit aller Strings in String.xml? Das Beispiel von Jaiel scheint das zu beantworten. Noch hab ich's nicht ausprobiert. Fürchte, dass dann wieder andere Probleme auftauchen :huh:.
[doublepost=1448449841,1448449805][/doublepost]OK, soeben ist mir der Durchbruch gelungen. Ich bedanke mich erst mal bei allen.

Sicherlich versuche ich auch noch mal die Varianten mit SQLite und XML-Datei etc.
 

Ähnliche Themen

M
Antworten
2
Aufrufe
631
Mozart40
M
Vapeilas91
  • Vapeilas91
Antworten
3
Aufrufe
698
swa00
swa00
M
Antworten
3
Aufrufe
168
moin
M
Zurück
Oben Unten