2014-02-20 30 views
0

我仍在學習Java。我有這樣的XML字符串數組列表:分割字符串以用於UI選擇元素

<string-array name="CountryCodes" > 
<item>93,AF, Afganistan</item> 
<item>355,AL, Albania</item> 
<item>213,DZ, Algeria</item> 
</string-array> 

我使用的是Arrayadapter這個陣列添加到像這樣的微調:

String [] countries = this.getResources().getStringArray(R.array.CountryCodes); 


     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, countries); 
     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

     mCountries.setAdapter(adapter); 

這一切正常,與XML沒有問題,但我真正想要做的是隻顯示微調器中的國家,然後在單獨的Edittext中顯示相應的數字。

我知道我必須使用split()方法來刪除","。但一旦我有單獨的字符串元素(例如「93,AF,阿富汗」)

我如何

  1. 得到公正的國家名稱
  2. 同步保持國家名稱與相應的數字
+0

@Simon不是重複myotherstuff數據的其餘部分,作爲XML解析是由Android作爲一個做資源,並且String []已經存在。 – njzk2

+0

@ user28 ...:您需要使用String.split(「,」)分割您的字符串,並使用位置2處的項目(加上修剪)。 – njzk2

+0

@ njzk2謝謝。這非常有幫助。現在我明白了BradR的答案。 – KingBryan

回答

1

這會做採用分體式mycoutries將剛纔的國家,並從線

String[] mycountries= new String[countries.length]; 
String[] myotherstuff = new String[countries.length]; 
for(int i = 0; i < countries.length; i++) { 
    String s = countries[i]; 
    String[] parts = s.split(","); 
    myotherstuff[i] = parts[0]+","+parts[1]; 
    mycountries[i] = parts[2]; 
} 
2

如果你想分開給定數組的國名,你可以使用這樣的東西。

String[] edited = new String[countries.length]; 
    for(int i = 0; i < countries.length; i++) { 
     String s = countries[i]; 
     edited[i] = s.substring(s.lastIndexOf(',')); 
    }