2015-10-18 161 views
1

我有一个微调。我想获取所选项目的值并在另一个数组中搜索该值的索引。 这是我到目前为止尝试过的。 s1是微调。武器是在我想要搜索的微调S1所选项目的值的数组在字符串数组中搜索精确的字符串?

String[] weaponone = getResources().getStringArray(R.array.weapons); 
for (String s : weaponone) { 
    int i = s.indexOf(s1.getSelectedItem().toString()); 
    switch (i) { 
     case (0): 
+0

我没有得到问题..? –

+0

你说你正在寻找你的字符串数组中的确切字符串 你没有为你在数组中搜索的值定义没有常量 你正在做一个int而不是字符串的开关情况。 –

+0

在第一行我正在定义数组,其中我想通过在第三行中选择spinner s1上的项目来比较字符串。 –

回答

2

确定我有你的情况...在你的情况下,没有必要使用foreach循环集中在下面的例子中,在..先来res/values文件夹 下arrays.xml文件并声明weapons阵列这样

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <string-array name="weapons"> 
     <item>a</item> 
     <item>b</item> 
     <item>c</item>   
    </string-array> 

</resources> 

和Java代码看起来像这样

String[] weaponone = getResources().getStringArray(R.array.weapons); 

    int i= Arrays.asList(weaponone).indexOf("b"); //i=1 for b, for a i=0 and for c i=2,if not found then i=-1 
     switch (i) { 
      case (0): 
       // implement your code 
       break; 
      case (1): 
       // implement your code 
       break; 
      case (2): 
       // implement your code 
       break; 

      ................................. 


      case (-1):// when not matching 
       // implement your code 
       break; 
     } 

我希望它能帮助你。

+0

我可以使用我已经在XML中的数组? –

+0

邑...你可以使用 –

+0

我试过..但它没有工作..如何使用XML数组? –