Android数组-使用字符串模式引用数组以供使用
我对Android非常陌生,但我是一个经验丰富的PHP开发人员,所以我知道如何在PHP中实现一些概念,我在Android开发中遇到了困难 我要做的是使用一个字符串数组来定义一个文本模式,我可以用另一个字符串数组中的随机值替换它 我知道如何从字符串数组中随机选择一个项,所以没有问题。但这就是我想做的:Android数组-使用字符串模式引用数组以供使用,android,Android,我对Android非常陌生,但我是一个经验丰富的PHP开发人员,所以我知道如何在PHP中实现一些概念,我在Android开发中遇到了困难 我要做的是使用一个字符串数组来定义一个文本模式,我可以用另一个字符串数组中的随机值替换它 我知道如何从字符串数组中随机选择一个项,所以没有问题。但这就是我想做的: <resources> <string-array name="myPattern"> <item>myValues1</item
<resources>
<string-array name="myPattern">
<item>myValues1</item>
<item>myValues1 of myValues2</item>
</string-array>
<string-array name="myValues1">
<item>string a</item>
<item>string b</item>
<item>string c</item>
<item>string d</item>
</string-array>
<string-array name="myValues2">
<item>string 1</item>
<item>string 2</item>
<item>string 3</item>
<item>string 4</item>
</string-array>
</resources>
我代码中的逻辑是从模式数组中随机选择一个字符串。然后,使用字符串数组myValues1中的随机值替换该字符串中myValues1的任何实例,并使用myValues2数组中的随机项替换myValues2
Android中的数组可以这样做吗?或者我应该使用一些代码来创建结构吗
提前感谢。基于《开发指南》中的内容,您应该能够访问代码中的字符串数组,如下所示:
Resources res = getResources();
String[] myValues1 = res.getStringArray(R.array.myValues1);
您希望在代码中执行此操作,因为您在XML文件中定义的资源将被您编写的应用程序使用,因此您可以编写代码以某种方式进行更改。这对您有用吗
class <yourActivity> extends Activity{
private final Random rand = new Random();
private String getRandom(int resourceId){
String [] vals = getResources().getStringArray(resourceId);
return vals[rand.nextInt(vals.length - 1)];
}
//your method somewhere...
void someMethod(){
swapOutMyValues1(getRandom(R.array.myValues1));
swapOutMyValues2(getRandom(R.array.myValues2));
}
}