2013-04-15 178 views
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()。

+0

的setContentView(線性); => setContentView(SV) – jimpanzer

+0

謝謝,它的工作原理! – user1965878

+0

我也發佈了一個答案,如果我的評論可以幫助你,請接受和upvote我的答案。 – jimpanzer

回答

1

你正在做的錯誤與setContentView,因爲你已經在視圖中添加linearLayout,你嘗試添加第二個時間,這會導致錯誤,

試試這個:

的setContentView(SV);

相反:

的setContentView(線性);

+0

謝謝,它解決了我的問題:) – user1965878

1

我不確定,但我想你在最後一行(setContentView(linear);)上得到這個錯誤。

您首先將該視圖linear添加到滾動視圖SV,然後將其設置爲contentView。

我只知道在向另一個視圖添加一個視圖兩次時出現此錯誤,但我想將其設置爲contentview的工作原理相同:它不能同時爲SV的子項和根視圖。

無論是在setContentVieW設置SV,或不添加linearScrollview

+0

非常感謝,這正是 – user1965878

1

只是

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

希望這有助於