2012-07-24 93 views
0

我對Android開發很新穎,我想要做的是在TextView中顯示ArrayList的內容。向StringBuilder添加一個對象

我一直在試圖將ArrayList轉換爲Array,然後將每個項目追加到StringBuilder。但是,StringBuilder似乎不允許我從Array附加Object。誰能告訴我爲什麼,或者實際上提供了一個更好的解決方案?

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // TODO Auto-generated method stub 
    super.onActivityResult(requestCode, resultCode, data); 
    ArrayList<String> temp = new ArrayList<String>(); 
    temp = data.getStringArrayListExtra("intentReturn"); 
    Object obj[] = temp.toArray(); 
    for(int i = 0; i < obj.length; i++){ 
     sBuilder.append((String)obj[i]); //This is the line which crashes the app 
     if(i < obj.length - 1){ 
      sBuilder.append(", "); 
     } 
    } 
    tvResult.setText(sBuilder.toString()); 
} 

非常感謝提前。

+0

爲什麼不乾脆使用'obj [i] .toString()'?而不是創建一個新的數組,只需使用'temp.get(i).toString()',也可以使用'temp.size()'而不是'obj.length'? – Jeffrey 2012-07-24 00:22:08

+0

顯然我忘了添加'StringBuilder sBuilder = new StringBuilder();'...傻妞新手! 您的建議@Jeffrey比我的複雜瓦礫簡單得多。謝謝:) – 2012-07-24 00:33:44

+0

不客氣。下一次可能明智地提到編譯器錯誤,而不是運行時異常,我只是假設'sBuilder'是一個字段,並且當您嘗試轉換'obj []時會得到'ClassCastException'我(這種錯誤經常發生)。 – Jeffrey 2012-07-24 00:36:33

回答

0

顯然,我忘了補充StringBuilder sBuilder = new StringBuilder(); - 傻新手!感謝Jeffrey的代碼清理,非常感謝!

爲了提供足夠的答案,這是我的新代碼:

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // TODO Auto-generated method stub 
    super.onActivityResult(requestCode, resultCode, data); 
    StringBuilder sBuilder = new StringBuilder(); 
    ArrayList<String> temp = new ArrayList<String>(); 
    temp = data.getStringArrayListExtra("intentReturn"); 
    for(int i = 0; i < temp.size(); i++){ 
     sBuilder.append(temp.get(i).toString()); 
     if(i < temp.size() - 1){ 
      sBuilder.append(", "); 
     } 
    } 
    tvResult.setText(sBuilder.toString()); 
} 
1

沒有理解你的理由轉換ArrayList to Array

2.試試這樣說...... 我直接附加的字符串從ArrayList中到StringBuilder,使用for-each循環

如:

for (String te : temp){ 
    sBuilder.append(te); 
} 
+0

我對Java和Android還是比較陌生的,並且已經被告知這種冗餘。感謝您的反饋意見。 – 2012-07-24 22:13:30

相關問題