Java Android:view-child已经有了父级

Java Android:view-child已经有了父级,java,android,json,view,parent,Java,Android,Json,View,Parent,所以我有一个小问题我不能处理。。。检查代码并阅读Logcat,有什么想法吗 代码: 好的,它与您的JSONObject无关 Logcat说了这一切。您添加的TextView已具有父级。因此,您可能需要创建一个布局,并在for循环中 for(int i = 0; i < jArray.length(); ++i){ JSONObject json_data = jArray.getJSONObject(i); //

所以我有一个小问题我不能处理。。。检查代码并阅读Logcat,有什么想法吗

代码:


好的,它与您的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);
for(int i=0;i

}

不要使用
getString
,而是使用,看看这是否能解决您的问题。为什么要使用++i而不是i++?但我的问题是jArray大小,正如我上面所说的,如果jArray是[{…}],它可以工作,但是如果它是[{…},{…},{…},{…}它不能。你能粘贴LogCat输出吗?@vandus
++i
可以,有些人喜欢这种风格。Java中
循环的
差异为0。只是风格问题。非常感谢!它起作用了。我是Android的新手,我喜欢这个页面。
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.
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);