2014-10-28 79 views
0

,同時以編程方式在LinearLayout對象中添加兩個FrameLayout對象,在將第二個FrameLayout對象添加到LinearLayout對象時得到以下異常。任何人都可以幫忙無法以編程方式在LinearLayout中以編程方式添加兩個FrameLayout對象

Java.Lang.IllegalStateException:指定的子項已經有父項。您必須先調用子對象的父對象的removeView()。

這裏是代碼

ViewGroup.LayoutParams param = new ViewGroup.LayoutParams(
           ViewGroup.LayoutParams.WrapContent, 
           ViewGroup.LayoutParams.WrapContent); 

MainView = new LinearLayout(_context); 
MainView.LayoutParameters = new ViewGroup.LayoutParams(
          ViewGroup.LayoutParams.MatchParent, 
          ViewGroup.LayoutParams.MatchParent); 

MainView.Orientation = Orientation.Vertical; 
MainView.SetVerticalGravity(GravityFlags.Center); 
MainView.SetHorizontalGravity(GravityFlags.Center); 




_currentSwipableItemReflectionFrameLayout = _currentSwipableItemFrameLayout; 
_currentSwipableItemReflectionFrameLayout.RotationX = 180; 
_currentSwipableItemReflectionFrameLayout.Alpha = 0.3f; 

MainView.AddView(_currentSwipableItemFrameLayout,param); 
MainView.AddView(_currentSwipableItemReflectionFrameLayout,param); 

AddView(MainView); 

回答

0

例外說明了一切。您正嘗試使用AddView添加的其中一個視圖已被添加爲View層次結構中某個位置的子視圖。因此,在將其添加到別處之前,您必須首先將其從其父項中移除

從您發佈的代碼看來,_currentSwipableItemFrameLayout_currentSwipableItemReflectionFrameLayout中的任一個或兩個都已具有父級。

相關問題