Множественные строковые файлы ресурсов с похожими ключами в Android

У меня есть приложение для Android, которое должно отображать строки, найденные в ресурсах, но может быть несколько файлов strings.xml, то есть strings1.xml, strings2.xml и т. Д. В-третьих. Строковый ключ может находиться в разных stringsN.xml файлах, теперь, если ключ найден, скажем, strings1.xml, он должен отображаться без просмотра других строковых файлов с таким же ключом.

Это возможно в андроиде? Я сделал это в своем приложении .Net, но, похоже, это невозможно в Android. Фактически, android выдает ошибку компиляции, когда я ввожу значения для повторяющихся ключей в несколько файлов strings.xml.

ИЗМЕНИТЬ

Причина в том, что мое приложение запускают разные клиенты. Предположим, для clientA я добавил ключ «company» со значением «ABC», а в моем файле strings.xml по умолчанию уже есть имя компании по умолчанию с тем же ключом «company», но со значением по умолчанию «Default Company». Теперь, если clientA откроет мое приложение, название компании должно быть "ABC" и "Default Company" для клиентов, отличных от clientA.


person Ibad Baig    schedule 10.04.2013    source источник
comment
developer.android.com/guide/topics/resources/ .   -  person Raghunandan    schedule 10.04.2013
comment
все строковые ресурсы объединяются без учета имени файла, поэтому нет, вы не можете этого сделать.   -  person njzk2    schedule 10.04.2013


Ответы (1)


Нет, на Android это невозможно.

Вы можете иметь только повторяющиеся имена ресурсов в разных папках (values-qualifier). Даже тогда струны не дублируются. Они подготовлены к локализации, и единовременно будет загружаться только один.

Если бы вы сказали нам, зачем вам это нужно, мы могли бы предложить лучшее решение.

person Raghav Sood    schedule 10.04.2013
comment
Можете ли вы иметь несколько файлов strings.xml в одной папке? Я никогда не пробовал, но не думал, что ты сможешь - person codeMagic; 10.04.2013
comment
@codeMagic Пока они все в папке значений и имеют уникальные и правильно объявленные <string> элементы, это не должно быть проблемой. Имя файла на самом деле не имеет значения. Элемент и атрибуты содержимого - это то, на что смотрит Android. - person Raghav Sood; 10.04.2013
comment
Хорошо спасибо. Думаю, я думал, что он искал strings.xml, прежде чем проверять теги - person codeMagic; 10.04.2013
comment
@codeMagic расположение файла: res / values ​​/ filename.xml Имя файла произвольно. Имя элемента ‹string› будет использоваться в качестве идентификатора ресурса. Проверьте тему под строковым заголовком. developer.android.com/guide/topics/resources/ строка- resource.html. Таким образом, наличие нескольких strings.xml не должно быть проблемой, поскольку Android использует идентификатор ресурса, а не файл - person Raghunandan; 10.04.2013
comment
@codeMagic да чувак, у нас может быть несколько файлов strings.xml (очевидно, с разными именами) в папке Values - person Ibad Baig; 10.04.2013
comment
Я знал, что имя элемента использовалось как resource id, мне никогда не требовалось более одного в одной папке values, поэтому я просто не понимал, что вы можете это сделать. Спасибо - person codeMagic; 10.04.2013
comment
@RaghavSood спасибо за ваш ответ, на самом деле мне нужно отображать значения по ключу, который может быть в любом файле strings.xml. Я редактирую свой вопрос, чтобы уточнить его - person Ibad Baig; 10.04.2013