在android中为下面的另一个布局充气

在android中为下面的另一个布局充气,android,xml,android-layout,layout-inflater,android-inflate,Android,Xml,Android Layout,Layout Inflater,Android Inflate,这是我的PostShapeXML文件 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_

这是我的PostShapeXML文件

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/layout_bg"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:layout_margin="10dp"
    android:id="@+id/hiddenLayout">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/rsz_page_pic"
        android:layout_alignParentTop="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:id="@+id/imageView" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/app_name"
        android:id="@+id/pageNameTV"
        android:layout_toStartOf="@+id/imageView"
        android:paddingRight="10dp"
        android:layout_alignTop="@+id/imageView"
        android:layout_toLeftOf="@+id/imageView" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="asdasdsd"
        android:id="@+id/postTimeTV"
        android:paddingRight="10dp"
        android:textColor="@color/normal_end"
        android:layout_alignBottom="@+id/imageView"
        android:layout_alignRight="@+id/pageNameTV"
        android:layout_alignEnd="@+id/pageNameTV" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:id="@+id/textView3"
        android:layout_marginTop="10dp"
        android:layout_below="@+id/imageView"
        android:layout_alignRight="@+id/imageView"
        android:layout_alignEnd="@+id/imageView" />

</RelativeLayout>
我想做的是把post_shape.xml的副本放到feed_fragment.xml中,第一个是正确的,但是当我试图在第一个下面添加另一个时,我得到了这个 我真的很支持我糟糕的英语,如果你看到这张照片,我希望你能理解我的问题。

你这里有两块巧克力。。。 1.在文件提要片段中将RealtiveLayout替换为LinearLayout(LinearLayout必须占据整个屏幕,以便它将一个屏幕插入另一个屏幕) 2.ScrollView和RelativeLayout的实例使用ListView和Adapter,这在这里非常有用


使用线性布局而不是相对布局
<?xml version="1.0" encoding="utf-8"?>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingLeft="23dp"
    android:paddingRight="13dp"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/feeds_container">

    </RelativeLayout>

</ScrollView>
@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState)
    {
        mRootView = inflater.inflate(R.layout.fragment_feed, container, false);

        RelativeLayout hiddenLayout = (RelativeLayout)getActivity().findViewById(R.id.hiddenLayout);

        RelativeLayout myLayout = (RelativeLayout)mRootView.findViewById(R.id.feeds_container);
        View hiddenInfo = getActivity().getLayoutInflater().inflate(R.layout.post_shape, myLayout, false);
        myLayout.addView(hiddenInfo);

        hiddenInfo = getActivity().getLayoutInflater().inflate(R.layout.post_shape, myLayout, false);
        myLayout.addView(hiddenInfo);

        return mRootView;
    }