2012-07-24 60 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

相关问题