java - Android:查看 - child 已经有 parent

标签 java android json view parent

所以我有一个无法处理的小问题...检查代码并阅读 Logcat,有什么想法吗?

代码:

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.

最佳答案

好吧,它与您的 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);

}

关于java - Android:查看 - child 已经有 parent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20445149/

相关文章:

java - 如何为子项目启用自定义执行器端点?

Java - Google Drive API v3 - 返回文件的特定字段 - 语法

java - 从 POM 中提取 Maven 依赖版本

android - 使用 Firebase 应用分发服务导致应用未安装错误

javascript - 使用 Sequelize 将 JSON 文件中的大数据导入到 MYSQL 数据库

java - 使用 Jsoup 从 html 代码中提取数据

java - 从 Android 中的 Date 对象获取日月的值?

android - 根据 Imageviews 的高度和宽度在 onCreate() 中创建缩放位图

php - 使用php pdo从for循环中的mysql数据库获取数据

javascript - AngularJS 解析的 JSON 数据与纯预填充 HTML 文本