我对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());
}
非常感谢提前。
为什么不干脆使用'obj [i] .toString()'?而不是创建一个新的数组,只需使用'temp.get(i).toString()',也可以使用'temp.size()'而不是'obj.length'? – Jeffrey 2012-07-24 00:22:08
显然我忘了添加'StringBuilder sBuilder = new StringBuilder();'...傻妞新手! 您的建议@Jeffrey比我的复杂瓦砾简单得多。谢谢:) – 2012-07-24 00:33:44
不客气。下一次可能明智地提到编译器错误,而不是运行时异常,我只是假设'sBuilder'是一个字段,并且当您尝试转换'obj []时会得到'ClassCastException'我(这种错误经常发生)。 – Jeffrey 2012-07-24 00:36:33