Альтернативным решением является использование marker - инструмента, который я создал недавно, который позволяет вам «закладок» шаблонов команд и легко помещать курсор в держатели команд:
[/g1]
Я обнаружил, что большую часть времени я использую функции оболочки, поэтому мне не нужно писать часто используемые команды снова и снова в командной строке. Проблема использования функций для этого варианта использования заключается в добавлении новых терминов в словарь моей команды и необходимости запоминать, какие параметры функций относятся к реальной команде. Цель маркера - устранить эту психическую нагрузку.
Чтобы построить идентификатор ресурса из строковых компонентов, вы должны передать отдельные компоненты в getIdentifier()
, а не только полный идентификатор в качестве одного параметра:
//Get the ID for R.layout.widget_blue
int resID = context.getResources().getIdentifier("widget_blue", "layout", context.getPackageName());
Затем просто измените первый имя параметра, чтобы получить другой ресурс компоновки.
Почему вы используете getIdentifier для этого? Так как вы все равно включаете в себя жестко закодированную строку, почему бы не использовать только идентификатор ресурса, как вы это делали во втором примере. Это намного эффективнее, как указано в документации по методу getIdentifier ():
Примечание: использование этой функции не рекомендуется. Гораздо эффективнее извлекать ресурсы по идентификатору, чем по имени.
blockquote>