0

我知道很多人问过这个问题,但我不确定我的问题的解决方案是否相同。

我的代码是:

package com.example.goo;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.TextView;

public class Calendrier extends Activity{

    LinearLayout linear;

    TextView text;

    ScrollView SV;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        SV = new ScrollView(this);          

        linear = new LinearLayout(this);
        linear.setOrientation(LinearLayout.VERTICAL);

        text = new TextView(this);
        text.setText("This is an example for the Bright Hub !");

        SV.addView(linear);
        linear.addView(text);
        setContentView(linear);

    }
}

错误是:

引起:java.lang.IllegalStateException:指定的孩子已经有一个父母。您必须首先在孩子的父母上调用 removeView()。

4

3 回答 3

1

你做错了,setContentView因为你已经linearLayout在视图中添加了并且你试图添加第二次导致错误,

尝试这个:

设置内容视图(SV);

反而:

设置内容视图(线性);

于 2013-04-15T06:58:42.083 回答
1

我不确定,但我想您在最后一行 ( setContentView(linear);) 收到此错误。

您首先将该视图添加linear到 scrollview SV,然后将其设置为 contentView。

我只知道当您将一个视图添加到另一个视图两次时会出现此错误,但我认为将其设置为内容视图将起作用:它不能同时是SVAND 根视图的子视图。

要么设置SVsetContentVieW要么不linear添加Scrollview

于 2013-04-15T06:59:03.970 回答
1

只是

setContentView(linear);=>setContentView(SV);

希望有帮助

于 2013-04-15T07:29:04.693 回答