2015-07-10 2 views
0

Можно ли использовать целое число:Как вы используете целое число из файла ресурсов в строке в том же файле ресурсов?

<integer name="minstringlength">7</integer> 

в том же файле ресурсов, но в пределах строки:

<string name="nametooshort">Please enter a name longer than @integer/minstringlength characters</string> 
+0

Почему это необходимо? –

+0

Нет, это невозможно – Karakuri

ответ

0

Я полагаю, вы хотите использовать различные минимальные ограничения, основанные на конфигурации устройства. Вы не можете использовать @integer/minstringlength в содержании строки, так что я думаю, что лучшее, что вы можете сделать, это есть аргумент формата и построить строку самостоятельно, как это:

<integer name="minstringlength">7</integer> 
<string name="nametooshort">Please enter a name longer than %1$d characters</string> 

int nameMinLength = getResources.getInt(R.integer.minstringlength, 0); 
String nametooshort = getString(R.string.nametooshort, nameMinLength); 

Это предполагает, что вы используете активность/Fragment, в противном случае вам понадобится Context, чтобы использовать getResources() и getString().

0

Это не может быть сделано в файле ресурсов.

как XML содержит статический контент, а также от android string-resource doc нет никакого суб тег или вложенная тег <string>

It задачи можно легко сделать в Java файл

getResources().getString(R.string.minstringlength); 
getResources().getInteger(R.integer.nametooshort); 

ИЛИ Follow this post

<string name="meatShootingMessage">You shot %1$d pounds of meat!</string> 

int numPoundsMeat = 123; 
String strMeatFormat = getResources().getString(R.string.meatShootingMessage); 
String strMeatMsg = String.format(strMeatFormat, numPoundsMeat); 
Смежные вопросы