2016-04-03 5 views
1

Gibt es eine Möglichkeit, eine bestimmte Ressource aus meiner "strings.xml" basierend auf dem Laufzeitwert abzurufen?Android Abrufen der Ressourcenzeichenfolge basierend auf dem Laufzeitwert

Um zu erklären, mehr habe ich eine Liste von Werten, dh Taxikosten für jeden Standort - also anders für Bangalore, Chennai, usw.

mein strings.xml etwa wie folgt aussieht:

<string-array name="Bengaluru"> 
    <item>Min Fare | 100</item> 
    <item>Per KM Fare |10</item> 
    </string-array> 

In meinem MainActivity verwende ich Code wie folgt:

String currentCity = <Getting the city via phone location method> 
if(currentCity.equals("Bengaluru")) { 

    // My method to extract values from the string 
    myCustomParser(getResources().getStringArray(R.array.Bengaluru)); 
} 

(ich werde wahrscheinlich ersetzen, wenn mit Schalter-Kasten, ist aber nicht ein Weg, um die oben neu zu schreiben wie:

d. H. Dynamische Ersetzung des Werts, den ich aus der Ressourcendatei ziehen möchte?

Dank

+0

Sie sollten nicht '==' für String-Vergleich verwenden. Verwenden Sie stattdessen 'equals()'. – user2004685

+0

Diese [Antwort] (http://stackoverflow.com/a/3476470/1435985) sollte Sie auf den richtigen Weg bringen, wie Sie eine Ressourcen-ID nach ihrem Namen suchen können, wenn Sie diese Route gehen wollten. –

+0

Mögliches Duplikat von [Wie bekomme ich eine Ressourcen-ID mit einem bekannten Ressourcennamen?] (Http://stackoverflow.com/questions/3476430/how-to-get-a-resource-id-with-a-known-resource -name) –

Antwort