2012-05-19 159 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和汗試圖幫助我。 很高興知道你們所有:)

相關問題