2016-02-28 38 views
0

更多查看我的XML文件指定的孩子已经有一位家长。您必须先调用子级的父级上的removeview()。在布局

<ScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:fillViewport="false"> 

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/mainView" 
     tools:context="${relativePackage}.${activityClass}" > 

     <items.Circle 
      android:id="@+id/circle" 
      android:layout_width="300dp" 
      android:layout_height="300dp" /> 
    </RelativeLayout> 
</ScrollView> 

在代码中,我试图查看添加到我的RelativeLayout。我希望显示这两个视图,但我得到这个错误指定的孩子已经有一个父。您必须先调用子级的父级上的removeview()。类圈和rectView扩展视图。有没有办法在屏幕上显示两个视图?

public class ProfileScreen extends FragmentActivity{ 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_profile_screen); 
     RelativeLayout rLView = (RelativeLayout) findViewById(R.id.mainView); 

     rectView myView = new rectView(this); 
     rLView.addView(myView,Math.round(Data.displayResolution.widthPixels),Math.round(Data.displayResolution.heightPixels*2)); 

     Circle circle = (Circle) findViewById(R.id.circle); 
     rLView.addView(circle,500,500); 
    } 

回答

1

有没有在屏幕上显示两个视图的方法吗?

当然。单独留下Circle。或者,如果需要,更改它的LayoutParams。您不能将其添加为RelativeLayout的子项,因为它已经是RelativeLayout的子项。

+0

感谢您的回答。当我独自离开圆圈时,它不会显示在屏幕上。也许它在myView下。 –

+0

@ M.Krsak:从Z轴的角度来看,它肯定会在它之下,只要后面的'RelativeLayout'的孩子在Z轴上比早期的孩子更高。如果您需要更改Z轴顺序,您需要从“RelativeLayout”中移除“Circle”,然后重新添加。 – CommonsWare

相关问题