2012-05-19 113 views
0

我在这里有一个问题。 我从我的解析器类的结果ArrayList。那么我想把这个值(从ArrayList的值)到TextView。Android - 如何设置ArrayList的值为TextView

这是我迄今为止所做的工作。 我在我的main.xml

<TextView 
     android:id="@+id/deskripsi" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/hello" 
    /> 

,在这里我的onCreate方法创建的TextView,我初始化文本视图

desk = (TextView)findViewById(R.id.deskripsi); 

,然后我试图解析器谷歌地图,并在该KML文档节点标我把它的值改为ArrayList的,在这里我的代码

ArrayList<String> pathName = new ArrayList<String>(); 
Object[] objPlace; 

//Parser Node Placemark 
NodeList nlPlace = doc.getElementsByTagName("Placemark"); 
     for(int p = 0; p < nlPlace.getLength(); p++){ 
      Node rootPlace = nlPlace.item(p); 
      NodeList itemPlace = rootPlace.getChildNodes(); 
      for(int y = 0; y < itemPlace.getLength(); y++){ 
       Node placeStringNode = itemPlace.item(y); 
       NodeList place = placeStringNode.getChildNodes(); 
       //valueName = nameList.item(0).getNodeValue().toString() + "+"; 
       pathName.add(place.item(0).getNodeValue()); 
      } 
    } 

objPlace = pathName.toArray(); 

desk.setText(""); 
for (int j = 0; j < objPlace.length; j++){ 
    desk.append("Deskripsi:\n" + objPlace[j].toString() + "\n"); 
} 

但当itried运行其到我的模拟器和真正的设备,我得到一个错误。这里是我的logcat enter image description here

请帮助我,为我的英语对不起> _ <

+0

在这段代码中的哪一行是107 – Ronnie

+0

为什么你把数组列表对象[]? – Ronnie

回答

8

你可以做到这一点,而不是;直接在for循环使用pathName ...

desk.setText(""); 
for (int j = 0; j < pathName.size(); j++){ 
    desk.append("Deskripsi:\n" + pathName.get(j) + "\n"); 
} 
0

II是由NullPointerException造成的,这意味着一些需要的参数和你度过了一个空值给它。 根据你的代码,它可能在desk.setText("");左右。尝试插入一个空格或一些值并运行。

+0

他得到RunTimeException不是NullPointerException –

+0

要引用上面发布的错误“由:java.lang.NullPointerException引发” – Barak

0

你永远不会初始化你的数组...... objPlace []是一个空数组。

你需要做的是这样的:

objPlace[] = new Object[arraysizenumber] 
1

你可以把线

objPlace[] = new Object[pathName.size()] 

objPlace = pathName.toArray(); 

,是否有输出,否则做这样

desk.setText(""); 

for (int j = 0; j < pathName.size(); j++){ 
    desk.append("Deskripsi:\n" + pathName.get(j) + "\n"); 
    } 
0

谢谢我的朋友。即时通讯仍然不太适合使用Object []。然后我用这个代码来解决我的问题

String strPlace[] = (String[])pathName.toArray(new String[pathName.size()]); 

desk.setText(""); 
     for (int j = 0; j < strPlace.length; j++){ 
      desk.append("Deskripsi:\n" + strPlace[j] + "\n"); 
     } 

感谢userSeven7s,flameaddict和汗试图帮助我。 很高兴知道你们所有:)

相关问题