我需要随机选择在android中的strings.xml文件中定义的字符串。
例如我的strings.xml是:
<resources>
<string name="str1">Content comes here1</string>
<string name="str2">Content comes here2</string>
<string name="str3">Content comes here3</string>
</resources>
我可以在我的活动中随机选择其中一个字符串吗?
答案 0 :(得分:7)
创建一个包含您要选择的所有资源名称的数组:
String[] strs = new String[] {"str1", "str2", "str3"};
获取随机索引:
int randomIndex = new Random().nextInt(3);
从资源中获取随机字符串:
int resId = getResources().getIdentifier(strs[randomIndex ], "string", your_package_name);
String randomString = getString(resId);
答案 1 :(得分:6)
最好的方法是将字符串声明为数组,然后像这样得到它:
String[] arrayOfStrings = context.getResources().getStringArray(R.array.your_string_array);
String randomString = arrayOfStrings[new Random().nextInt(arrayOfStrings.length)];
然后你可以随意使用它。
答案 2 :(得分:0)
你可能会把它变成一个字符串数组(然后在随机的一个数组中更容易选择)。否则,您可以将字符串的ID放在一个数组中,然后随机选择数组中的一个项目。