2014-02-10 50 views
0

這是將值放入ArrayList中的代碼,我沒有將「ArrayList」與「,」分開。有人可以幫助我如何實現此任務嗎?如何在Android中使用JAVA拆分ArrayList?

  spinnerArrayList = new ArrayList<String>(); 
      spinnerArrayList.add(menuFieldInstance.getFieldValues()); 
      Log.i("spinnerArrayList",""+spinnerArrayList); 
      //for(int j=0;j<spinnerArrayList.size();j++) 
      //{ 
      Log.i("spinnerArrayList after splitting ,",""+spinnerArrayList.get(0).split(",")); 
      //} 

這裏是微調ArrayList和SpinnerArrayList分割後的logcat的.............

02-10 22:00:48.285:I/spinnerArrayList( 19300):[0100〜Avon & Somerset,0200〜貝德福德郡,0300〜劍橋郡,0400〜柴郡,0500〜倫敦市,0600〜克利夫蘭,0700〜坎布里亞郡,0800〜德比郡,0900〜德文郡&康沃爾郡, 1100〜Durham,1200〜Essex,1300〜Gloucestershire,1400〜大曼徹斯特,1500〜Hampshire,1600〜Hertfordshire,1700〜Humberside,1800〜肯特,1900〜Lancashire,2000〜Leicestershire,2100〜Linconshire,2200〜默西塞德郡,2300 〜大都會,2400〜諾福克,2500〜北安普敦郡,2600〜諾森比亞,2700〜北約克郡,2800〜諾丁漢郡,2900〜南約克郡,3000〜斯塔福德郡,3100〜薩福克郡,3200〜薩里,3300〜蘇塞克斯,3400〜泰晤士谷,3500〜沃裏克郡,3600〜西麥西亞, 3700〜西米德蘭茲,3800〜西約克郡,3900〜威爾特郡,4000〜Dyfed,4100〜Gwent,4200〜北威爾士,4300〜南威爾士,4400〜皇家阿爾斯特,4500〜斯特拉斯克萊德,4600〜蘇格蘭中部,4700〜鄧弗里斯和Galloway,4800〜Fife,4900〜Grampian,5000〜Lothian和Borders,5100〜蘇格蘭北部,5200〜Tayside,5300〜Gurnsey,5400〜澤西島,5500〜馬恩島,NO〜無警方反應,THAM〜THAMES VALLEY,WEST〜西米德蘭警官,5600〜白金漢] 02-10 22:00:48.285:I /分割後spinnerArrayList,(19378):[Ljava.lang.String; @ 41b9a498

+0

split返回一個String數組,所以如果你想得到那個值,你需要記錄一個沒有記錄所有數組的索引。 –

+0

可以給我示例代碼或編輯我的代碼 – user3233280

+1

Arraylist包含離散元素,你不「分裂」它已經「分裂」。只需使用帶有索引的get()。 – csmckelvey

回答

2
// try to print this way then you getting actual value at index becz your try to print String[] object rather each index value so do this way 
spinnerArrayList = new ArrayList<String>(); 
spinnerArrayList.add(""); 
for (int i=0;i<spinnerArrayList.size();i++){ 
     String[] splitedValue = spinnerArrayList.get(i).split(","); 
     for (int j=0;j<splitedValue.length;j++){ 
      Log.i(i+" at ArrayIndex "+j+" at splitedIndex Value is >> ",splitedValue[j]); 
      String[] splitedValue1 = splitedValue[j].split("~"); 
      if(splitedValue1.length==1){ 
       continue; 
      } 
      for (int k=0;k<splitedValue1.length;k++){ 
       Log.i(j+" at splitedIndex "+k+" at splited1Index Value is >> ",splitedValue1[k]); 
      } 
     } 

    } 
+0

你能幫我嗎?我想分割splitedValue中的「〜」我沒有這樣做.....我寫了Log.i(j +「在ArrayIndex」+ k +「在splitedIndex值是>>」,splitedValue [k] .split(「〜」)); – user3233280

+0

你能幫助我嗎? – user3233280

+0

我已編輯我的答案,現在你測試... –

0

spinnerArrayList.get(0).split(",")沒有按」分裂「陣列」它sp雙牀索引零的字符串,因爲返回的結果是一個字符串數組 - 使用+運營商到另一個字符串,您不能連接它:

Log.i("spinnerArrayList after splitting ,",""+spinnerArrayList.get(0).split(",")); 

首先閱讀分割後的字符串轉換成String數組:

String[] arr = spinnerArrayList.get(0).split(","); 

,然後循環陣列和打印值」

for(String val: arr){ 
    Log.i(val); 
} 
1

你不能拆分ArrayList。您可以拆分String,例如"I am some String, you can split me".split(",")將返回一個2個字符串的數組,但ArrayList是一個包含某些字符串的數據結構,並不意味着它們以逗號分隔。您可以嘗試分割列表中的每個項目,例如

for (String s : spinnerArrayList) { 
    String[] res = s.split(","); 
    // do smth with res 
}