Вы можете использовать эту функцию для получения идентификатора ресурса:
public static int getResourseId(Context context, String pVariableName, String pResourcename, String pPackageName) throws RuntimeException {
try {
return context.getResources().getIdentifier(pVariableName, pResourcename, pPackageName);
} catch (Exception e) {
throw new RuntimeException("Error getting Resource ID.", e)
}
}
Итак, если вы хотите получить Drawable ID ресурса, вы можете вызвать метод следующим образом:
getResourseId(MyActivity.this, "myIcon", "drawable", getPackageName());
(или из фрагмента):
getResourseId(getActivity(), "myIcon", "drawable", getActivity().getPackageName());
Для String ИД ресурса вы можете назвать его так:
getResourseId(getActivity(), "myAppName", "string", getActivity().getPackageName());
и т.д ...
Осторожно : выдает исключение RuntimeException, если не удается найти идентификатор ресурса.Обязательно восстановитесь в рабочем состоянии.
Прочтите это