我有一个array.xml里面存了很多数组,像下面的,然后我想动态的取出来
ArrayAdapter<CharSequence> adapter2= 
              ArrayAdapter.createFromResource(cityset.this, R.array.cityid1, android.R.layout.simple_spinner_item); 
比如我取到一个值i,这个R.array.cityid1怎么改为动态的R.array.cityid+i来表示
<string-array name="cityid1">
<item>不限区域</item>
<item>文化园</item>
<item>火车站</item>
<item>河西中心</item>
</string-array>
<string-array name="cityid2">
<item>不限区域</item>
<item>市区</item>
</string-array>

解决方案 »

  1.   

    动态取不同的<string-array> :  
    把xml中 string-array的相应顺序连续的放好来 。(下面都是依靠这个放的顺序)
    如 :  
    <string-array name="array1" >...</string-array>
    <string-array name="array2" >...</string-array>
    <string-array name="array3" >...</string-array>
    <string-array name="array4" >...</string-array>
    <string-array name="array5" >...</string-array>
    .....
    先定义一个初始值最好是  string-array 中 最前面的 -1 int arrayInit = R.array.array1 -1;
    int arrayIndex = 0;
    根据i的值 来 改变 arrayIndex;
    arrayIndex += arrayInit+i;
      

  2.   

    你的意思是根据R.java里面的值来加吗?
      

  3.   


    String name = "cityid"+i; 
    //获得resource id
    int rid = cityset.this.getResources().getIdentifier(name, "string", "your package name");ArrayAdapter<CharSequence> adapter2=  
      ArrayAdapter.createFromResource(cityset.this, rid, android.R.layout.simple_spinner_item);