我知道很多人都会问这个问题,但我不确定我的问题的解决方案是否相同。
我的代码是:
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()。
答案 0 :(得分:1)
您在使用setContentView
时出错了,因为您已在视图中添加了linearLayout
并且您尝试添加第二次导致错误,
试试这个:
的setContentView(SV);
相反:
的setContentView(线性);
答案 1 :(得分:1)
我不确定,但我想你在最后一行(setContentView(linear);
)收到了这个错误。
首先将该视图linear
添加到滚动视图SV
,然后将其设置为contentView。
我只知道当你将一个视图添加到另一个视图时会出现这个错误两次,但我想设置它会因为contentview的工作方式相同:它不能同时是SV
的子视图和根视图。
在SV
中设置setContentVieW
,或者不将linear
添加到Scrollview
答案 2 :(得分:1)
只需
setContentView(linear);
=> setContentView(SV);
希望有所帮助