回收视图页面

时间:2016-10-27 16:56:50

标签: android xml android-layout

我正在开发一个Android应用程序,我用我的网络服务器中的项目填充我的回收视图。

问题, 我不太清楚我的recyclerview出了什么问题,每个“项目”似乎占据了整个屏幕,我看了其他XML格式,看起来和我的相同。但我有很大的优势。 请参阅图片

XML

Customrow xml文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent"
    android:padding="16dp"
    >

    <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/cv"
        >

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="16dp"
            >

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/person_photo"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true"
                android:layout_marginRight="16dp"
                />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/person_name"
                android:layout_toRightOf="@+id/person_photo"
                android:layout_alignParentTop="true"
                android:textSize="30sp"
                />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/person_age"
                android:layout_toRightOf="@+id/person_photo"
                android:layout_below="@+id/person_name"
                />
        </RelativeLayout>
    </android.support.v7.widget.CardView>
</LinearLayout>

Recyler Fragment

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:id="@+id/cointainerDrawerID"
    android:layout_height="match_parent">






        <android.support.v7.widget.RecyclerView
            android:id="@+id/drawrList"
            android:scrollbars="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

        </android.support.v7.widget.RecyclerView>




</RelativeLayout>

在图片中,您会看到两个项目,而不是一个在另一个项目下面。它位于一个完全不同的页面上。

Recycler View

4 个答案:

答案 0 :(得分:1)

在您的代码中,您的商品有android:layout_height="match_parent" 将其更改为wrap_content或某个固定值可以解决您的问题

答案 1 :(得分:1)

将父线性布局的android:layout_height =“match_parent”更改为android:layout_height =“wrap_content”

将卡片视图用作父版面。

答案 2 :(得分:0)

Recyclerview有一个LayoutManager,您可以像这样使用它:

recycler.setLayoutManager(new LinearLayoutManager(getContext()));
recycler.setHasFixedSize(true);

答案 3 :(得分:0)

问题出在&#34; layout_height&#34;属性。将其更改为&#34; wrap_content&#34;或者只是粘贴item.xml的下面代码

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent" android:layout_height="wrap_content"
  android:padding="16dp"
>

<android.support.v7.widget.CardView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/cv"
    >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="16dp"
        >

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/person_photo"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginRight="16dp"
            />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/person_name"
            android:layout_toRightOf="@+id/person_photo"
            android:layout_alignParentTop="true"
            android:textSize="30sp"
            />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/person_age"
            android:layout_toRightOf="@+id/person_photo"
            android:layout_below="@+id/person_name"
            />
    </RelativeLayout>
</android.support.v7.widget.CardView>