2015-10-18 162 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數組? –