2013-12-07 111 views
0

所以我有這個小問題我無法處理...檢查代碼並閱讀Logcat,有什麼想法?Android:查看 - 孩子已經有父母

CODE:

for(int i = 0; i < jArray.length(); ++i){ 
    JSONObject json_data = jArray.getJSONObject(i); 

    //          
    String paskaita = json_data.getString("paskaita"); 
    String laikas = json_data.getString("laikas"); 
    String savaite = json_data.getString("savaite");           
    String auditorija = json_data.getString("auditorija"); 
    String destytojas = json_data.getString("destytojas");          
    String dalykas = json_data.getString("dalykas"); 
    String tipas = json_data.getString("tipas"); 


    //Just adding view        
    TextView pask = (TextView) Item.findViewById(R.id.paskaita); 
    pask.setText(paskaita); 

    TextView laik = (TextView) Item.findViewById(R.id.laikas); 
    laik.setText(laikas); 

    TextView sav = (TextView) Item.findViewById(R.id.savaite); 
    sav.setText(savaite); 

    TextView dest = (TextView) Item.findViewById(R.id.destytojas); 
    dest.setText(destytojas); 

    TextView aud = (TextView) Item.findViewById(R.id.auditorija); 
    aud.setText(auditorija); 

    TextView dal = (TextView) Item.findViewById(R.id.dalykas); 
    dal.setText(dalykas); 

    TextView tip = (TextView) Item.findViewById(R.id.tipas); 
    tip.setText(tipas); 

    ln.addView(Item); 

} 

logcat的輸出:

12-07 19:00:27.558: E/AndroidRuntime(280): java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first. 
+0

而不是使用'getString',使用[optString(名稱,回退)](http://developer.android。 com/reference/org/json/JSONObject.html#optString),看看這是否解決了你的問題。 – Wenhui

+0

爲什麼你使用++而不是i ++? – vandus

+0

但是我的問題是jArray大小,正如我上面所說的,如果jArray是[{...}]它可以工作,但如果它是[{...},{...},{...}]它不會「T。 –

回答

1

OK,它無關,與你的JSONObject。

Logcat說這一切。你添加一個已經擁有父級的TextView。所以,你可能想創建一個佈局,並在for循環

for(int i = 0; i < jArray.length(); ++i){ 
JSONObject json_data = jArray.getJSONObject(i); 

//          
String paskaita = json_data.getString("paskaita"); 
String laikas = json_data.getString("laikas"); 
String savaite = json_data.getString("savaite");           
String auditorija = json_data.getString("auditorija"); 
String destytojas = json_data.getString("destytojas");          
String dalykas = json_data.getString("dalykas"); 
String tipas = json_data.getString("tipas"); 

// Create a new view every time. 
View Item = View.inflate(ln.getContext(), layoutID, null); 


//Just adding view        
TextView pask = (TextView) Item.findViewById(R.id.paskaita); 
pask.setText(paskaita); 

TextView laik = (TextView) Item.findViewById(R.id.laikas); 
laik.setText(laikas); 

TextView sav = (TextView) Item.findViewById(R.id.savaite); 
sav.setText(savaite); 

TextView dest = (TextView) Item.findViewById(R.id.destytojas); 
dest.setText(destytojas); 

TextView aud = (TextView) Item.findViewById(R.id.auditorija); 
aud.setText(auditorija); 

TextView dal = (TextView) Item.findViewById(R.id.dalykas); 
dal.setText(dalykas); 

TextView tip = (TextView) Item.findViewById(R.id.tipas); 
tip.setText(tipas); 

ln.addView(Item); 

}

+0

非常感謝!有用。我是Android新手,我喜歡這個頁面。 –

相關問題