znalazłem kilka wskazówek tutaj: Android, getting resource ID from string?
Poniżej przykład jak uzyskać ciągi i ich wartości określonych w strings.xml. Jedyne, co musisz zrobić, to zrobić pętlę i przetestować łańcuch, który trzyma twoją wartość. Jeśli chcesz powtórzyć to wielokrotnie, lepiej zbudować tablicę. // ---------
String strField = "";
int resourceId = -1;
String sClassName = getPackageName() + ".R$string";
try {
Class classToInvestigate = Class.forName(sClassName);
Field fields[] = classToInvestigate.getDeclaredFields();
strField = fields[0].getName();
resourceId = getResourceId(strField,"string",getPackageName());
String test = getResources().getString(resourceId);
Toast.makeText(this,
"Field: " + strField + " value: " + test ,
Toast.LENGTH_SHORT).show();
} catch (ClassNotFoundException e) {
Toast.makeText(this,
"Class not found" ,
Toast.LENGTH_SHORT).show();
} catch (Exception e) {
Toast.makeText(this,
"Error: " + e.getMessage() ,
Toast.LENGTH_SHORT).show();
}
}
public int getResourceId(String pVariableName, String pResourcename, String pPackageName)
{
try {
return getResources().getIdentifier(pVariableName, pResourcename, pPackageName);
} catch (Exception e) {
e.printStackTrace();
return -1;
}
}
co masz na myśli, przekształcając ciąg zasobów? nawrócić na co? – AndroidMechanic
Powróćmy o krok: co doprowadziło do tego pytania, tj. Co naprawdę chcesz osiągnąć? – Henry