如何在同一资源文件的字符串中使用资源文件中的整数?

时间:2015-07-10 21:04:39

标签: android string integer

是否可以使用整数:

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

在同一资源文件中但在字符串中:

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

2 个答案:

答案 0 :(得分: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);

这假设您使用的是活动/片段,否则您需要Context才能使用getResources()getString()

答案 1 :(得分:0)

无法在资源文件中完成。

由于xml包含静态内容且来自android string-resource doc,因此没有<string>

的子标记或嵌套标记

任务可以在java文件中轻松完成

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

OR 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);